0

Ruby から Access データベースにアクセスしようとしています。

dbh = DBI.connect('DBI:ODBC:test','','') 

動作しますが、

 dbh = DBI.connect("DBI:ODBC:driver=Microsoft Access Driver (*.mdb);dbq=H:/test.accdb")

しません。

すべてのマシンに Access Driver をセットアップしたくありません。

2 行目が機能しないのはなぜですか?

ODBC ドライバーは、データベースがプログラムによって認識されなかったなどのメッセージを表示します。

4

2 に答える 2

0

私は新しい形式で作業したことはありませんが、ジェットエンジンと続編を介してファイルaccdbに正常に接続しました..mdb

accdb ファイルで動作する場合は、私のコード例をテストできます。

require 'sequel'

Dir['*.mdb'].each{|mdb|
      print "Check #{mdb}"
      @db = Sequel.ado(:conn_string=>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=#{mdb}")
      begin
        @db.test_connection 
        puts " ok"
      rescue Sequel::DatabaseConnectionError
        puts " error"
      end
}

winole バリアントを使用する場合は、「MS Access データベース テーブルにクエリを実行し、Ruby と win32ole を使用して情報を Excel にエクスポートする方法」を確認してください。

http://rubyonwindows.blogspot.de/2007/06/using-ruby-ado-to-work-with-ms-access.html

于 2013-01-03T17:45:59.577 に答える
0

名前に *.mdbと*.accdb を含む別の Access-ODBC ドライバーがあります。これを選択する必要があります。

于 2013-01-04T12:59:55.110 に答える