MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[859]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(859番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Perl プログラムの修正( RE:ADOを使用したインポート /エクスポート)

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 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。