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。