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