接続あれこれINDEXへ
データベース接続あれこれ
[ 接続文字列一覧 ]
[ VBScript ]
[ JavaScript ]
[ VC++ ]
[ Java ]
ORACLE:OLE DB プロバイダ(ORACLE製) ▲TOP
Provider=OraOLEDB.Oracle;Data Source=<接続文字列>;User Id=<ユーザID>;Password=<パスワード>
ORACLE:OLE DB プロバイダ(Microsoft製) ▲TOP
Provider=MSDAORA;Data Source=<接続文字列>;User Id=<ユーザID>;Password=<パスワード>
ORACLE:ODBCドライバ(ORACLE製) ▲TOP
バージョンによりドライバ名が変わる点に留意。
Driver={Oracle in OraHome92};DBQ=<接続文字列>;UID=<ユーザID>;PWD=<パスワード>
ORACLE:ODBCドライバ(Microsoft製) ▲TOP
Driver={Microsoft ODBC for Oracle};Server=<接続文字列>;UID=<ユーザID>;PWD=<パスワード>
Microsft SQL Server:OLE DBプロバイダ ▲TOP
Provider=SQLOLEDB;Data Source=<接続先サーバ>;User Id=<ユーザID>;Password=<パスワード>;Initial Catalog=<データベース>
Microsft SQL Server:ODBCドライバ ▲TOP
Driver={SQL Server};Server=<接続先サーバ>;Uid=<ユーザID>;Pwd=<パスワード>;Database=<データベース>
PostgreSQL:OLE DBプロバイダ ▲TOP
Database(Location)の指定がないとエラーになります。
Provider=PostgreSQL OLE DB Provider;Data Source=localhost;Location=<データベース>;User ID=<ユーザID>;Password=<パスワード>
PostgreSQL:ODBCドライバ ▲TOP
Database(Location)の指定がないとエラーになります。
また、ADOX.Catalog, ADOX.Table を使ったテーブル一覧が取得できませんでした。
Driver={PostgreSQL};Server=localhost;Database=<データベース>;UID=<ユーザID>;PWD=<パスワード>;Port=5432;
MySQL:ODBCドライバ ▲TOP
接続文字列として「STMT=SET CHARACTER SET キャラクターセット」が使用できるバージョンは5.x以降。
(…だったと思います。5.x以外、あまり使った事がないので…)
Driver={mySQL ODBC 3.51 Driver};Server=<接続先サーバ>;Port=3306;Option=131072;Stmt=SET CHARACTER SET SJIS;Database=<データベース>;Uid=<ユーザID>;Pwd=<パスワード>
ODBCデータソース:ODBCドライバ ▲TOP
ここに書くのは意味がない気もしますが、まあ一応、基本と言う事で。
DSN=<データソース名>; UID=<ユーザID>; PWD=<パスワード>
Access(MDBファイル):OLE DBプロバイダ ▲TOP
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<MDBファイルのファイルパス>;User Id=<ユーザID>;Password=<パスワード>
Access(MDBファイル):ODBCドライバ ▲TOP
Driver={Microsoft Access Driver (*.mdb)};DBQ=<MDBファイルのファイルパス>;Uid=<ユーザID>;Pwd=<パスワード>
Excel(ブックファイル):OLE DBプロバイダ ▲TOP
「シート名+$」がテーブル名になります。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<Excelブックのファイルパス>;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"
Excel(ブックファイル):ODBCドライバ ▲TOP
「シート名+$」がテーブル名になります。
Driver={Microsoft Excel Driver (*.xls)};DBQ=<Excelブックのファイルパス>
CSV(テキストファイル):OLE DBプロバイダ ▲TOP
「hoge.csv」などのファイル名がテーブル名になります。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<CSVファイルの「ディレクトリの」パス>;Extended Properties="text;HDR=Yes;FMT=Delimited"
CSV(テキストファイル):ODBCドライバ ▲TOP
「hoge.csv」などのファイル名がテーブル名になります。
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=<CSVファイルの「ディレクトリの」パス>
Outlook:OLE DB プロバイダ ▲TOP
各メールフォルダ名がテーブル名になります。
オンラインのメールボックスの例
Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;MAPILEVEL=山田 太郎|;TABLETYPE=0;Database=C:\Documents and Settings\tyamada\Local Settings\Temp
ローカルの保存フォルダの例
Provider=Microsoft.Jet.OLEDB.4.0;Exchange 4.0;MAPILEVEL=保存フォルダ|;TABLETYPE=0;Database=C:\Documents and Settings\tyamada\Local Settings\Temp
ADOX.Columnでカラム一覧取得時にコケましたが、とりあえず検索はできました。
Databaseの記述は、.pstファイルの場所とかを指定するわけではありません。
ここに schema.ini ができるので適当なtmpを指定すればOKです。
また、サブディレクトリを見る場合は「MAPILEVEL=親フォルダ|子フォルダ」のように記述すればOKです。
INDEXと言う物がないので、巨大な.pstファイルや溜めっぱなしのメールボックスで結合とかすると、
かなーり凄い事になったりします。「こんな事もできるんだなー」くらいの衒学的実験に留めておいた方がいいかも。
HTML:OLE DB プロバイダ ▲TOP
HTMLのTABLEタグをSQLテーブルとして扱う場合の書き方です。
Data Source はローカルのパスだけではなく、URLでも可能です。
TABLEタグが1つしかない場合は、TITLEがテーブル名となり、
captionが指定されている場合は、それがテーブル名になります。
どちらも無い場合は、「Table」「Table1」...「Table[n]」のようになります。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\test.html;Extended Properties="HTML Import;HDR=Yes;"
留意点として、「Table」は予約語なので、実際にSQL文を書く時は
"select * from [Table]"
のように[]で括って記述する必要があります。
データベース接続あれこれ
[ 接続文字列一覧 ]
[ VBScript ]
[ JavaScript ]
[ VC++ ]
[ Java ]
このページの先頭へ
接続あれこれINDEXへ