如何用Ruby连接SQL Server 2005

Python016

如何用Ruby连接SQL Server 2005,第1张

require 'win32ole'

connection = WIN32OLE.new('ADODB.Connection')

connection.open("Provider=SQLOLEDB.1User ID=sapassword=xxxxData Source=localhost,1433Initial Catalog=mydb")

最重要的一点是即使默认端口1433也要加上,不然会报错:

sql.rb:27:in `method_missing': open (WIN32OLERuntimeError)

OLE error code:80004005 in Microsoft OLE DB Provider for SQL Server

[DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection.

HRESULT error code:0x80020009

Exception occurred.from sql.rb:27:in `open'

from sql.rb:63

关键看你如何建立数据库连接了,不同的gem有不同的格式。如果你用Sequel gem 的话可以直接把sql字符串放到run函数里面类似于:

DB.run(sql)

不过基本上主流框架都是希望你直接按ruby格式去写和运行sql。