这是我用来连接sql Server 2012 express的代码.我的文件名是Connect.rb.
require "rubygems" require "tiny_tds" client = TinyTds::Client.new( :username => 'sa',:password => 'sapassword',:dataserver => 'localhost\sqlEXPRESS',:database => 'ContactsDB') result = client.execute("SELECT * FROM [Contacts]")
in ‘execute’ :closed connection (TinyTds::Error) from Connect.rb: in
‘main’
client = TinyTds::Client.new( :username => 'sa',:host => 'localhost',:port => 1433,:database => 'ContactsDB')
我收到以下错误:
in ‘connect’: Unable to connect: Adaptive server is unavailable or
does not exist
是什么导致了这个错误以及如何修复它?
解决方法
看起来配置没问题. dataserver是定义非默认实例的正确符号.
确保启用了TCP / IP和命名管道协议(默认情况下在sql Express上禁用).还启用sql Server Browser服务正在运行(默认情况下禁用).
您可以在Microsoft sql Server /配置工具下的开始菜单中的sql Server配置管理器中找到它们.请务必在“客户端协议”和每个列出的实例中启用它们.
此外,请确保您的防火墙允许sql正在侦听的端口上的连接(默认为1433).
无需指定端口,因为Tiny-TDS默认为1433.您的第二个代码段不包含实例.如果在实例上安装了sql Express,则需要使用dataserver,而不是host,并指定实例名称.