【问题标题】:Connecting to SQL-Azure with freeTDS error: Read from the server failed连接到带有 freeTDS 错误的 SQL-Azure:从服务器读取失败
【发布时间】:2012-07-29 08:30:22
【问题描述】:

我正在尝试从 ubuntu 12.04 访问 SQl-Azure 数据库。

我已经下载了 freeTDS-0.91 并使用 openssl 和 libiconf 编译它(用于 tiny_tds gem)。

当我尝试连接到 sql-azure db 时,我收到以下错误:

martinr@martinr-DT:~/code/psg-web$ tsql -U Username -P Password -H servername.database.windows.net -p 1433
locale is "en_ZA.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20004 (severity 9):
    Read from the server failed
OS error 104, "Connection reset by peer"
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

我似乎找不到任何关于导致此错误的原因以及如何解决它。

我可以毫无问题地连接到办公室的 windows-server 机器上的 ms-sqlserver 实例。

任何帮助将不胜感激。

【问题讨论】:

  • 你解决过这个问题吗?我现在也遇到了同样的问题
  • 我们做到了,但我不记得我们的确切解决方案。据我所知,确保您可以远程登录到服务器并非常仔细地按照文档中的调试说明进行操作。 freetds.org/userguide/serverthere.htm 抱歉,我无法提供更多帮助
  • 不用担心。感谢您的帮助

标签: tsql azure-sql-database ubuntu-12.04 freetds


【解决方案1】:

对于 azure sql,使用协议版本 8.0(或 7.x)。您可以通过以下方式强制执行:

TDSVER=8.0 tsql -U Username@servername -P Password -H servername.database.windows.net -p 1433

【讨论】:

  • 我发现 Azure SQL(在 V12 模式下)在 TDSVER 设置为 8.0 或 7.1,not 7.2 时适用于 freetds 0.91。
【解决方案2】:

我使用这个post 让它工作。除非您一直在使用 ruby​​ 1.8,现在要使用 1.9,否则请务必按照说明进行操作,直到标题为 Going The Extra Mile With Ruby 1.9.x 的部分。在后来的post 中,作者说在运行 sudo port install rb-odbc +utf8 时不要使用 +utf8,正如他在第一篇文章中所指示的那样。

您可以像这样使用 isql 测试连接:

isql server Username Password

对于 server,请输入您在 odbc.ini 文件中括号内的名称。

【讨论】:

  • 感谢您的回答,我的问题不是连接到 mssqlserver,而是连接到 sql-azure。我可以完美地连接到在我设置的 Windows 服务器机器上运行的 sqlserver 的评估副本。我的问题是连接到 sql-azure。
猜你喜欢
  • 2014-10-24
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 2012-10-06
相关资源
最近更新 更多