4

这是一个奇怪的问题。我的机器上有一些使用 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

最后它抛出错误

4

0 回答 0