So-net無料ブログ作成
検索選択

IronPython で MDB ファイルにアクセス [DotNET]

OleDB Provider を使って、MDB ファイルにアクセスしてみた。

基本的に SQLServer ↓と同じような感じ
http://blog.so-net.ne.jp/nakagami/2006-11-08
API を SqlXXXXX → OleDbXXXX に読み替えれば良い。

Firebird .NET Provider ならこんな感じ
http://blog.so-net.ne.jp/nakagami/2006-04-09
API を FbXXXXX → OleDbXXXX に読み替えれば良い。

clr.AddReference("System.Data")
from System.Data.OleDb import *
conn = OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=foo.mdb")
conn.Open()

dr = OleDbCommand("select * from bar")
for r in dr:
    print r['COL_A'], r['COL_B'], r['COL_C']

sql = "insert into FOO (COL_B, COL_C) values (@B, @C)"
cmd = OleDbCommand(sql, conn)
cmd.Parameters.Add(OleDbParameter('@B', 'Bob'))
cmd.Parameters.Add(OleDbParameter('@C', 12345))
cmd.ExecuteNonQuery()
auto_number_id = OleDbCommand("select @@IDENTITY", conn).ExecuteScalar()
print auto_number_id

conn.Close()

insert した直後に select @@IDENTITY すると、オートナンバーの値が取ってこれる。
Note というフィールドを作って、そこに INSERT しようとしてエラーになってはまった。Access 的には、Note というフィールドを作ることはできるけど、SQL エンジン的にはダメみたい。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。