Date: Tue, 20 Nov 2001 10:43:29 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、おはようございます
849番の記事でperlのプログラムを掲載しましたが、私の
友人である『Perlの神様』から、ActivePerlのドキュメントにも
掲載されているのに、なぜ
Win32::OLE::Const
を使わないの?と、大変なお叱りを受けてしまいました。 (^_^;;
前回のプログラムは、汚いperlプログラムの見本なので参考
にしないでくださいね
改めて、書き直しました。
今度のプログラムは、ファイルadosample.pl として保存し
DOS窓(コマンドプロンプト)で
perl adosample.pl
として実行してください。
前回のプログラムとの違いは、Win32::OLE::Constにより
ADO関係の定数の名前を認識できるようにしました。
またWSH(Windows Script Host)環境から、普通のperl
プログラムに直しました。
ぜひ、お試し下さい。
use Win32::OLE;
#Extract constant definitions from TypeLib
use Win32::OLE::Const 'Microsoft ActiveX Data Objects';
#Connection Object
my $Conn = Win32::OLE->new('ADODB.Connection');
#Server Name
my $ServerName = Your Database Server Name';
#Database Name
my $DBName = "Pubs";
#WindowsNT(Trusted Connection)
my $ConnectStr = "Provider=SQLOLEDB;" .
"Data Source=$ServerName;" .
"Initial Catalog=$DBName;" .
"Trusted_Connection=YES;";
#Connect Database Server
$Conn->Open( $ConnectStr );
die "***Connect Open Error***" if( Win32::OLE->LastError() );
#RecordSet Object
my $Rs = Win32::OLE->new('ADODB.RecordSet');
my $SqlStr = 'SELECT * FROM titles';
$Rs->{LockType} = adLockReadOnly;
$Rs->{CursorType} = adOpenForwardOnly;
$Rs->{CursorLocation} = adUseServer;
$Rs->{Source} = $SqlStr;
$Rs->{ActiveConnection} = $Conn;
$Rs->Open( {Options=>adCmdText} );
#Read Record
while ( ! $Rs->EOF ) {
my $title_id = $Rs->Fields('title_id')->{value};
my $title = $Rs->Fields('title')->{value};
print "[$title_id][$title]\n";
$Rs->MoveNext;
}
#Close
$Rs->Close;
$Conn->Close;
---------------------------------------------------
(株)日本技術ソフト開発 堀川 明
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
11月20日(火曜日) 10時41分記
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|