【发布时间】:2016-12-09 05:10:36
【问题描述】:
我一直看到这个错误,我无法连接到远程服务器上的数据库。
我得到了一个到数据库的连接字符串,如下所示:
data source=qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=user_me;password=user_me##2009;
现在,我基于该连接字符串创建了一个database.yml 文件,如下所示:
development:
adapter: 'sqlserver'
host: 'qsss.gar.de\SQL2012,3000'
port: 1433
database: 'City'
username: 'user_me'
password: 'user_me##2009'
当我尝试运行服务器时,它总是以 Server name not found in configuration files 错误提示我。
opts[:port] ||= 1433
opts[:dataserver] = "#{opts[:host]}:#{opts[:port]}" if opts[:dataserver].to_s.empty?
connect(opts) // ERROR AT THIS LINE
end
def tds_73?
请帮我看看这是什么问题?
更新:
我可以使用SQLPro for MSSQL 向导连接到服务器,使用完全相同的连接参数:
它在向导中有效,但不适用于使用 TinyTDS 的代码!
【问题讨论】:
-
不熟悉,但主机名可能只是“qsss.gar.de”(端口也可能是 3000)
-
不,没关系,我可以使用 SQLPro 向导中的那些参数进行连接,但不能从应用程序中连接。
-
尝试将端口更改为 3000 并从主机中删除 3000,因为这与主机名无关。
-
@engineersmnky 我刚试过,还是一样的情况。我可以使用我提供的参数从 SQLPro 向导进行连接,所以这些很可能不是问题?
-
@engineersmnky 我想,如果我将主机更改为“qsss.gar.de”,而不是我能够连接的“qsss.gar.de\SQL2012”。所以问题出在解析那个“\”的地方。我有什么兴趣,我什至需要这部分“SQL2012”才能工作?或者如果我把它排除在外,它也会起作用吗?
标签: ruby-on-rails sql-server ruby freetds tiny-tds