青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

Windows下使用Perl連接DB2

Posted on 2010-01-25 11:17 Prayer 閱讀(496) 評論(0)  編輯 收藏 引用 所屬分類: PERL
本文是參考了<DB2 Magazine Quarter 1. 2005. VOLUME 10 NUMBER 1>;雜志里的<Perls of Wisdom-Follow these simple steps to use the free Perl language with DB2>;一文,可以說是一個摘抄(不同的是文章是中文)
原文參見http://www.db2mag.com/story/showArticle.jhtml?articleID=59301551

1. Perl的DB2驅動
Perl語言本身就不多做介紹了。
1994年發布的DBI是Perl語言連接關系性數據庫的標準??梢詮膁bi.perl.org獲得DBI的源代碼和文檔。
IBM在1995年發布了對于Perl的DB2驅動,這個驅動是符合DBI標準的,在Perl里這個驅動稱為DBD::DB2 ??梢詮膇bm.com/software/db2/perl獲得DBD::DB2驅動的最新信息。

注意:最近的DB2驅動需要至少Perl 5.005_03和DBI 1.21或以上的版本。

2. 準備環境
步驟如下
(1)安裝Perl語言環境
Windows下可以從www.activestate.com獲得Perl的安裝包。
安裝后可以使用perl -v看看Perl的版本信息。
DBI驅動和DBD::DB2驅動都是作為Perl的附加模塊使用ppm工具安裝的。安裝方法參見(2), (3),安裝時最好先去ibm.com/software/db2/perl上看看ppm后面的參數有沒有變化。

(2)安裝DBI驅動
ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBI.ppd

(3)安裝DBD::DB2驅動
ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBD-DB2.ppd

(4)安裝DB2 runtime client


3. 使用Perl連接DB2
(1)使用DBI函數DBI->;data_sources 來掃描DB2數據庫目錄并返回一個包含了有效數據源名稱(DSN)的數組。
----------------datasources.pl-------------
#!/usr/lib/perl -w
#
# This perl script prints the list of cataloged DB2 data-sources
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

print "Operating Systems = $^O\n";
print "Perl Binary = $^X\n";
print "Perl Version = $]\n";
print "DBI Version = $DBI::VERSION\n";
print "DBD::DB2 Version = $DBD::DB2::VERSION\n\n";

my @DB2DataSources = DBI->;data_sources("DB2");

print "Available DB2 DSNs:\n\n";

foreach my $dsn ( @DB2DataSources )
{
print " $dsn \n";
}
-------------------END----------------------

(2)獲取db2數據庫的信息
----------datasourceInfo.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script prints the information DB2 database
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

my $dsn = 'dbi:DB2:SAMPLE';
my $uid = 'henry';
my $pwd = 'happyday';

my $dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

print "Database Connection Information \n\n";
printf( "Server Instance     : %s\n", $dbh->;get_info( SQL_SERVER_NAME ) );
printf( "Database Server     : %s\n", $dbh->;get_info( SQL_DBMS_NAME ) );
printf( "Database Version    : %s\n", $dbh->;get_info( SQL_DBMS_VER ) );  
printf( "Database Alias      : %s\n", $dbh->;get_info( SQL_DATA_SOURCE_NAME ) );
printf( "Database Codepage   : %s\n", $dbh->;get_info( 2519 ) );
printf( "Application Codepage: %s\n", $dbh->;get_info( 2520 ) );
printf( "Authoriztion Id     : %s\n", $dbh->;get_info( SQL_USER_NAME ) );
printf( "Max Idntifier Len   : %s\n", $dbh->;get_info( SQL_MAX_IDENTIFIER_LEN ) );
printf( "Max Table Name Len  : %s\n", $dbh->;get_info( SQL_MAX_TABLE_NAME_LEN ) );
printf( "Max Index Size      : %s\n", $dbh->;get_info( SQL_MAX_INDEX_SIZE ) );
printf( "Max Columns in Table: %s\n", $dbh->;get_info( SQL_MAX_COLUMNS_IN_TABLE ) );
-------------------END----------------------

(3)獲取db2數據庫的元數據(比如, 表結構)
----------tableinfo.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script prints the information of cataloged DB2 table
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

$dsn = 'dbi:DB2:SAMPLE';
$uid = 'henry';
$pwd = 'happyday';

# Connect to the SAMPLE database
$dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

# Get the tables for schema HENRY
$sth = $dbh->;table_info( { 'TABLE_CSHEM' =>; "HENRY" } );

$table_counter = 0;
while ( @row = $sth->;fetchrow_array )
{
$catalog = $row[0];
$schema = $row[1];
$table = $row[2];

$table_counter++;
printf( "Table %d %s\n", $table_counter, $table );

# Now get the column information for this table
$sth_col = $dbh->;column_info( $catalog, $schema, $table, '%' );
if( $sth_col )
{
while( @row_col = $sth_col->;fetchrow_array )
{
# @row_col has a lot more information. I'll just take
# these three fields as an example
$column_name = $row_col[3];
$type_name   = $row_col[5];
$column_size = $row_col[6];

printf( "  %-24s%s(%s)\n", $column_name, $type_name, $column_size );
}

$sth_col->;finish();
}
}

$sth->;finish();
$dbh->;disconnect;
-------------------END----------------------

(4)執行SQL
----------executesql.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script manipulate DB2 table
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

$dsn = 'dbi:DB2:SAMPLE';
$uid = 'henry';
$pwd = 'happyday';

# Connect to the SAMPLE database
$dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

# Prepare our insert statement
$sth = $dbh->;prepare( "INSERT INTO sales VALUES('2005-06-25', 'Tom', 'Beijing', 15)");
$sth->;execute();
$sth->;finish();
$dbh->;disconnect;
-------------------END----------------------
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩在线一区二区三区| 亚洲欧美欧美一区二区三区| 亚洲综合三区| 91久久午夜| 欧美一区二区福利在线| 日韩视频免费看| 老司机一区二区三区| 欧美影院在线| 国产精品豆花视频| 亚洲精品免费看| 在线国产精品一区| 久久av二区| 久久久www成人免费无遮挡大片| 欧美日韩在线另类| 亚洲激情影院| 最新中文字幕亚洲| 老司机精品视频一区二区三区| 久久精品国产欧美亚洲人人爽| 国产精品看片资源| 亚洲无线视频| 亚洲欧美国产日韩中文字幕| 欧美日产一区二区三区在线观看| 欧美jizz19性欧美| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲电影在线播放| 亚洲第一网站免费视频| 久久久久久高潮国产精品视| 久久国产毛片| 国内成人精品2018免费看| 亚洲摸下面视频| 欧美在线视频不卡| 国产自产女人91一区在线观看| 亚洲欧美日韩在线高清直播| 午夜精品一区二区三区四区| 国产精品视频网站| 午夜伦理片一区| 久久久噜噜噜久久| 1769国内精品视频在线播放| 久热精品在线视频| 亚洲国产精品尤物yw在线观看| 亚洲区在线播放| 欧美日本高清| 亚洲特级毛片| 久久久久国产精品一区| 伊人久久av导航| 欧美成人精品激情在线观看| 亚洲三级网站| 午夜精品一区二区三区四区| 国产日韩免费| 卡一卡二国产精品| 亚洲老司机av| 久久精彩视频| 亚洲欧洲偷拍精品| 国产精品国产三级国产a| 午夜精品一区二区三区在线播放| 久色成人在线| 亚洲精品一区二区三区蜜桃久| 欧美日韩免费看| 欧美一区二区三区免费看| 免费短视频成人日韩| 一本久久综合亚洲鲁鲁| 国产手机视频一区二区| 美女91精品| 亚洲免费中文| 亚洲国产一区二区三区在线播 | 欧美亚洲不卡| 久久―日本道色综合久久| 亚洲免费高清视频| 久久久久久成人| 一区二区三区 在线观看视| 国产偷国产偷亚洲高清97cao| 快射av在线播放一区| 亚洲一区二区精品视频| 亚洲高清久久网| 欧美一区精品| 夜夜夜精品看看| 精品成人一区二区| 欧美日韩综合视频| 免费看亚洲片| 亚洲欧美在线免费观看| 亚洲精品久久7777| 免费成人高清视频| 欧美一区二区久久久| 日韩一级不卡| 亚洲黄一区二区| 国产自产高清不卡| 国产精品视频一| 欧美日韩精品三区| 农村妇女精品| 久久久国产精品一区| 亚洲一区综合| 一本色道久久综合亚洲精品小说 | 亚洲高清在线精品| 国产亚洲欧美日韩精品| 国产精品成人在线观看| 欧美国产三级| 免费视频久久| 麻豆久久久9性大片| 久久爱www.| 欧美专区一区二区三区| 亚洲欧美在线免费| 亚洲欧美制服另类日韩| 亚洲天堂网在线观看| 亚洲乱码国产乱码精品精天堂 | 最近看过的日韩成人| 欧美69视频| 欧美成人免费一级人片100| 久久网站热最新地址| 久久精品国产精品 | 久久精品成人一区二区三区蜜臀| 一区二区三区回区在观看免费视频| 亚洲激情在线激情| 亚洲精品国产品国语在线app | 亚洲在线一区| 亚洲一区二区三区视频| 亚洲一区二区三区免费观看 | 亚洲欧美激情精品一区二区| 中文精品视频| 亚洲免费在线精品一区| 亚洲综合日韩在线| 欧美在线精品一区| 久久久久一区二区三区四区| 久久午夜国产精品| 欧美成人一区二区| 亚洲精华国产欧美| 在线亚洲欧美| 欧美在线看片| 免费成人黄色片| 欧美日韩精品国产| 国产精品一区二区久久| 国模 一区 二区 三区| 亚洲电影免费观看高清完整版在线| 亚洲欧洲一区二区三区在线观看 | 亚洲高清视频在线| 99精品免费| 香蕉免费一区二区三区在线观看| 久久国产精品99久久久久久老狼| 久久婷婷亚洲| 亚洲精品综合在线| 性亚洲最疯狂xxxx高清| 麻豆精品在线观看| 国产精品xnxxcom| 一区二区亚洲精品国产| 99精品视频一区| 久久精品国产精品亚洲| 亚洲国产aⅴ天堂久久| 亚洲香蕉网站| 女人天堂亚洲aⅴ在线观看| 欧美日韩妖精视频| 国产一区二区三区免费在线观看| 亚洲人成小说网站色在线| 亚洲专区一区| 欧美电影免费观看高清完整版| 日韩一级在线观看| 久久久久综合网| 欧美亚韩一区| 最新国产成人在线观看| 欧美一级视频精品观看| 亚洲电影免费在线观看| 午夜精品久久久久久久99热浪潮| 欧美成人嫩草网站| 国产自产2019最新不卡| 亚洲一区二区高清视频| 美女黄网久久| 亚洲欧美精品中文字幕在线| 欧美福利一区二区三区| 激情久久久久久久久久久久久久久久| 在线一区二区三区做爰视频网站| 久久综合伊人77777蜜臀| 中文欧美字幕免费| 欧美日本成人| 亚洲国产黄色| 久久永久免费| 午夜精品久久久久久久99水蜜桃 | 久久综合综合久久综合| 国产拍揄自揄精品视频麻豆| 一本大道久久精品懂色aⅴ| 欧美sm视频| 久久久久久色| 国产中文一区二区| 久久av一区| 亚洲午夜av在线| 欧美三级乱码| 夜夜精品视频一区二区| 亚洲激情国产| 女人色偷偷aa久久天堂| 在线观看日韩一区| 老司机免费视频一区二区| 欧美一区二区视频观看视频| 国产精品入口夜色视频大尺度| 亚洲婷婷国产精品电影人久久| 亚洲国产精品一区二区三区| 美国十次成人| 亚洲人成网在线播放| 欧美黄色免费网站| 欧美大色视频| 日韩午夜三级在线| 日韩一二三在线视频播| 欧美性大战久久久久久久| 午夜电影亚洲|