perl数据库
㈠ perl脚本,定时查询数据库(oracle、Mysql)的某个表 并输出数据
建用户和授权要用DBA
最简单得建用户:
create user 用户名 identified by 密码
用户解锁 alter user 用户名 account unlock(不解锁无法登陆)
授权用 grant
建完用户首先要授权登陆权限
grant create session to 用户名
授权可以授权给角色和用户
也可以把角色授权给角色和用户
其他得类似 创建表得权限类似如下格式:
grant create table to 用户
㈡ 如何用Perl访问SQLite数据库
其主要思路是:1.把数据库分解成几个asset文件。2.当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。3.如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。下面是代码://数据库的缺省路径privatestaticfinalStringDB_PATH="/data/data/com.mypackage.myapp/databases/";privatestaticfinalStringDB_NAME="mydb.db";privatestaticfinalintDB_VERSION=2;privatestaticfinalStringDB_SPLIT_NAME="mydb.db.00";privatestaticfinalintDB_SPLIT_COUNT=3;privateSQLiteDatabasem_database;privatefinalContextm_context;/***Constructor*保存传进来的context参数以用来访问应用的asset和资源文件
㈢ 怎样用perl从数据库中提取数据并保存成一个二维数组显示出来
是不是要做该表中的第三四列的相互关联工作?
用hash,后面的代码文字说明如果唯一的话,用该列作key,前面的数字代码做value,一个文字说明,对应一个数字代码,有这样的对应关系,就可以用起来了。
或者直接split后,检测文字说明那一列是否有你需要的关键词,然后也能对应上前面那一列。
㈣ perl odbc怎么连接数据库
如果在Windows平台下运行perl脚本,建议使用依赖DBI的两个模块包,提供标准的数据库接口模块。
DBD::ODBC
DBD::ADO
使用DBD::ODBC
㈤ 就是我用perl连MySql数据库总是报错,求解决办法
Oracle
10g
集成
Perl,使用的是
5.8.3
版本,当你再独立安装
Perl,
并且不是
5.8.3
版时,在运行
Perl
-时就会出现途中的错误
修改环境变量
PERL5LIB
的值,把你自己安装的
Perl
的库路径也加到
PERL5LIB
中去;
D:perllib;D:perlsitelib;
解决问题
㈥ 怎样写perl脚本用sql去操作大数据平台里的数据
你需要有数据库的用户名和密码
use DBI;
	$DSN = 'driver={SQL Server};Server=数据库名; Database=表名;UID=用户名;PWD=密码;';
		$dbh = DBI->connect("dbi:ODBC:$DSN",{'RaiseError' => 1,AutoCommit => 0});
$SQL = "SQL语句"; 
$Select = $dbh -> prepare($SQL);
$Select -> execute();
($cust_code) = $Select->fetchrow_array;
㈦ Perl使用MySQL数据库的语法是什么
注意看下面“参考资料”中给你的链接。
use DBI;
    $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
    $dbh = DBI->connect($dsn, $user, $password);
$drh = DBI->install_driver("mysql");
    @databases = DBI->data_sources("mysql");
       or
    @databases = DBI->data_sources("mysql",
      {"host" => $host, "port" => $port, "user" => $user, password => $pass});
    $sth = $dbh->prepare("SELECT * FROM foo WHERE bla");
       or
    $sth = $dbh->prepare("LISTFIELDS $table");
       or
    $sth = $dbh->prepare("LISTINDEX $table $index");
    $sth->execute;
    $numRows = $sth->rows;
    $numFields = $sth->{'NUM_OF_FIELDS'};
    $sth->finish;
    $rc = $drh->func('createdb', $database, $host, $user, $password, 'admin');
    $rc = $drh->func('dropdb', $database, $host, $user, $password, 'admin');
    $rc = $drh->func('shutdown', $host, $user, $password, 'admin');
    $rc = $drh->func('reload', $host, $user, $password, 'admin');
    $rc = $dbh->func('createdb', $database, 'admin');
    $rc = $dbh->func('dropdb', $database, 'admin');
    $rc = $dbh->func('shutdown', 'admin');
    $rc = $dbh->func('reload', 'admin');
㈧ 怎样用perl从数据库中提取数据并存成一个二维数组
1、使用双层循环语句,就可以依次把数据顺序读入到一个二维数组当中了。
2、例程:  
#include <stdio.h>
#include <string.h>
#define MAXLINE 3
#define MAXCOLUMN 10
void main(void){
FILE *fp; //文件指针
char arr[MAXLINE][MAXCOLUMN]={0};  //定义3行10列的二维数组并初始化
int i = -1;
if((fp=fopen("./test/filename.txt","r"))==NULL){ //打开txt文件
perror("File open error!\n");
return;
}
while((fgets(arr[++i],MAXCOLUMN+1,fp))!=NULL) //读取一行并存到arr数组
printf("%d: ",i); //打印行号
//puts(arr[i]);
char *subarr = strtok(arr[i]," ");  //以空格为分隔符从arr[i]中获得字串
while(subarr!=NULL){
data[i][j] = atoi(subarr);  //将字串转为int型数据存入data数组
printf("%d\t",data[i][j]);  //打印data[i][j
subarr = strtok(NULL," ");  //继续获得arr[i]中的字串
j++;  //data数组列加一
}
printf("\n");    
}
//循环完毕后,所有数据已在data数组中
printf("\n");
fclose(fp);  //关闭指针
㈨ 怎样让perl脚本中执行sql语句
首先得确保安装了数据库接口模块和相应数据库的驱动模块,如果是用MySql数据库(开源免费新手入门学习都喜欢),则需要确定DBI和DBD::mysql这两个模块是否安装;
然后在perl脚本中写:
!#usr/bin/perl -w
use strict;
use DBI;                     #使用DBI模块,DBD::mysql是驱动不必在脚本中使用,安装了就行
my $dbname = "";     #引号里填上数据库名
my $ip = "";                #引号里填上要访问的数据库的ip地址,数据库是本机就写127.0.0.1
my $port = "";            #引号里填上要访问的数据库的端口号,mysql默认端口号是3306
my $host = "dbi:mysql:" . $dbname . ":" . $ip . ":" . $port ;
my $user = "root";             #访问数据库使用的用户名
my $password = "xXxX";    #该用户名所使用的密码
my $dbh = DBI -> connect($host,$user,$password) or die "$@";    #与数据库建立连接
$dbh -> do("set names \'gbk\';");                                                      #设置输出中文不乱码
while(1)                                            #条件永远为真,除非人为终止,否则不会停止
{                                                        #可以使用control+c停止脚本执行
    my $sql = "";                                #引号里填上sql语句
    $sth = $dbh -> prepare($sql);     #送入数据库做准备
    $sth -> execute();                         #执行这条sql语句
    sleep(300);                                    #设置300秒暂停执行,300秒后继续执行while
}
$dbh -> disconnect();                       #断开与数据库的连接
这里使用的是最新的perl和最新的mysql最新,不是复制粘贴别人代码,前几天还在用,保证思路没有问题。
㈩ perl用sqlplus连接数据库后怎么样获取字段的值
可以使用两种方法: 
1.require "xxx.pl";
2.use xxx.pm;
加入require或者use在perl中相当于将文件xxx.pl/pm整个文件都添加到调用它的文件中;
例如:
gettime.pl
#!/usr/bin/perl
print "gettime is 2011-07-25 14:40:10\n";
showtime.pl
#!/usr/bin/perl
require "gettime.pl";
print "get time ok\n";
则执行showtime.pl会显示:
gettime is 2011-07-25 14:40:10
get time ok
