ODBC与Ruby连接字符串
我正在尝试从Ruby访问Access数据库。
dbh = DBI.connect('DBI:ODBC:test','','')
工作,但
dbh = DBI.connect("DBI:ODBC:driver=Microsoft Access Driver (*.mdb);dbq=H:/test.accdb")
没有。
我不想在每台机器上设置Access Driver。
为什么第二条线不工作?
ODBC驱动程序说我的程序无法识别数据库之类的内容。
还有另一个Access-ODBC驱动程序,其名称中包含* .mdb 和 * .accdb。 你必须选择这一个。
我从来没有使用新的accdb
-format,但我通过Jet引擎和续集将成功连接到mdb
-files ..
如果它与您的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-variant,你可以检查我如何查询MS Access数据库表,并使用Ruby和win32ole将信息导出到Excel?
http://rubyonwindows.blogspot.de/2007/06/using-ruby-ado-to-work-with-ms-access.html