这是一个奇怪的问题。我的机器上有一些使用 tiny_tds 版本的 ruby 代码:0.6.0.rc1
一切正常。当同事尝试运行相同的代码时,他会收到以下错误:
TinyTds::Error: Adaptive Server 连接失败
我们在没有提供用户名或密码的情况下进行连接,因为我的机器不需要它。有任何想法吗?这可能是 sql 数据库的权利吗?
提前致谢
应该注意在我们安装了 SQL 2008 R2 和 SQL Express 的机器上存在问题。我们可以连接到 SQL express 但不能连接到 SQL 2008 R2
这是我们正在使用的代码
def self.GetTestMprsFromDB(dataServer,database,query)
mprids = Array.new
client = TinyTds::Client.new(:dataserver => dataServer, :database => database, :timeout => 1000)
在初始化时进入 tiny_tds
def initialize(opts={})
if opts[:password] && opts[:password].to_s.strip != ''
opts[:password] = opts[:password].to_s
warn 'FreeTDS may have issues with passwords longer than 30 characters!' if opts[:password].length > 30
end
raise ArgumentError, 'missing :host option if no :dataserver given' if opts[:dataserver].to_s.empty? && opts[:host].to_s.empty?
@query_options = @@default_query_options.dup
opts[:appname] ||= 'TinyTds'
opts[:tds_version] = TDS_VERSIONS_SETTERS[opts[:tds_version].to_s] || TDS_VERSIONS_SETTERS['71']
opts[:login_timeout] ||= 60
opts[:timeout] ||= 5
opts[:encoding] = (opts[:encoding].nil? || opts[:encoding].downcase == 'utf8') ? 'UTF-8' : opts[:encoding].upcase
opts[:port] ||= 1433
opts[:dataserver] = "#{opts[:host]}:#{opts[:port]}" if opts[:dataserver].to_s.empty?
connect(opts)
end
最后它抛出错误