这是一个奇怪的。我的机器上有一些使用tiny_tds版本的ruby代码: 0.6.0.rc1
一切正常。当同事尝试运行相同的代码时,他会收到以下错误:
TinyTds ::错误: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
最后它会抛出错误