问题标签 [freetds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
15945 浏览

sql-server - 连接到 Mac 上的 SQL Server 的 FreeTDS 问题(来自服务器的意外 EOF)

我已设置 FreeTDS 以连接到 SQL Server 数据库。当我尝试在 Mac(lion)上的终端中打开 TSQL 时,出现此错误:

有人知道是什么原因造成的吗?

0 投票
2 回答
979 浏览

sql-server - 在 Rails 3 中安装 tiny_tds gem 的问题

我已经在我的 mac 上成功安装了 free_tds 并且可以使用 tsql 来访问数据库和查询表。但是,当我尝试在 rails 3 上使用 gem tiny_tds gem 时,出现以下错误:

有人知道是什么原因造成的吗?

0 投票
1 回答
307 浏览

sql-server - 与 MSSQL [MicroSoft SQL SERVER] 一起使用时 Rails 迁移出错 - 找不到数据类型 primary_key

我正在研究 Rails 3 项目,我最初使用 MySQL 作为 RDBMS。但后来我的客户要求我们应该使用 MSSQL。花了半天后,我可以使用这里的文章连接 MSSQL 服务器:http: //oldwiki.rubyonrails.org/rails/pages/HowtoConnectToMicrosoftSQLServerFromRailsOnLinux

但经过所有努力,当我尝试迁移时,出现以下错误:

这是 rake db:migrate 的错误

当我重新运行相同的命令时,我收到错误:

  • 这意味着至少连接正常!

以下是 rake db:schema:load 的错误

我用谷歌搜索了这个错误,但找不到任何帮助,它似乎不是一个流行的组合。

我目前以两种方式看待这个问题:

  1. 尝试通过使 rails 以 MSSQL 友好格式输出 SQL 来解决手头的问题。如果第一个失败,那么

  2. 作为一种解决方法,将原始 mysql 转储转换为 MSSQL 格式。

0 投票
1 回答
1006 浏览

php - 使用 Freetds、PHP、SQL Server、ADODB 并且无法传递具有 UTF-8 中某些特殊字符的数据

好的,这是我的设置。我正在开发一个 PHP 应用程序,它位于 linux 操作系统上。我正在尝试将数据传递到 Windows 操作系统,传递到 SQL Server 数据库。我使用 Freetds 作为提供者,因为似乎每个人都使用它来从 Linux 机器与 SQL Server 进行通信。我正在使用 ADODB,它是 PHP 的数据库抽象库。

我还在开发一个结帐系统,允许用户选择现有的数百个国家中的任何一个,并输入该国家的州或省。我获取了所有这些数据,并且必须将其传递给第三方系统,这就是我之前谈到的 SQL Server 实例。

问题是,用户正在为他们的州/国家输入带有特殊字符的数据,例如ö。我花了几个小时才发现它不是 PHP,我的应用程序,我的代码,因为特殊字符在过程的所有点都正确出现,即使在调试 adodb 方法中传递给存储过程参数的内容时也是如此。问题出在 FreeTDS 中,因为我发现我需要将以下行添加到我的 freetds.conf

这似乎有效,我非常高兴它实际上不是我的代码,而只是配置文件中的一行。在我的任务在 Jira 关闭后进行进一步测试,我认为我再也不必担心这个问题了,我收到一封电子邮件,说嘿,这不适用于罗马尼亚各州。因此,似乎并非所有特殊字符都被正确传递。

我对字符集不是很了解,我确实读过每个开发人员都应该知道的 Joels Absolute Minimum

罗马尼亚的一个州不起作用的一个例子是Și la o răspântie cu statui我认为Ș问题在于性格。在 SQL 服务器上运行查询时,它只是将其转换为 S。在 php 中执行并通过 freetds 发送时,它会返回此错误消息

在进行查询之前,我已经尝试过设置SET names UTF8和其他一些设置,但我再次认为问题出在它甚至到达查询之前 freetds 没有传递正确的字符。

0 投票
2 回答
2016 浏览

php - 来自 PHP 的 Freetds SQL Server 连接错误:权限?

我有一个连接到远程 SQL Server 的 PHP 脚本。从命令行以 root 身份我可以调用 freetds 命令:tsql –H 主机名 –U 用户名,它连接得很好,我可以运行查询。

我在 /var/www/html/axis/public/test.php 中有一个 PHP 脚本当我: sudo –u apache –s(将用户从 root 更改为 apache)然后从命令行运行我的 PHP 脚本时,它连接并运行查询非常好。但是当从 Web 浏览器执行相同的脚本时,它会失败 - 浏览器返回一个 DB 连接错误。Web 浏览器能够连接到它应该连接的任何地方,并呈现所有不需要 SQL 连接的网页。

apache 是运行 httpd 的用户。我已经通过以下方式确认了这一点:ps aux | grep 阿帕奇

关于为什么 apache 可以从命令行很好地执行 PHP 脚本的任何想法,但是当浏览器尝试连接到相同的脚本时,它会失败?

谢谢, 井架

0 投票
3 回答
1510 浏览

python - unixODBC 错误 IM001

尝试执行任何简单查询时出现以下错误。我只是无法弄清楚发生了什么变化。

这是 sqlalchemy (Elixir) 类的示例:

数据库连接正常,类构造正常,因为我可以dir(Song)看到所有正确的列。但是,简单的查询是行不通的。

这是对该类的查询和结果输出:

设置细节:

  • 32 位 Arch Linux
  • Python 2.7.2
  • sqlalchemy 0.7.2
  • 灵丹妙药 0.7.1
  • FreeTDS 0.82-5
  • unixodbc 2.3.0-1

/etc/odbcinst.ini:

/etc/odbc.ini:

0 投票
1 回答
720 浏览

sql-server - 通过 freetds 在 Linux 上从 SQL Server 到 Rails 3 应用程序的错误字符编码

我正在使用 SQL Server 2008 R2 作为数据库在 Ruby 3.0 中的 MacOS 上开发应用程序。我正在通过 freetds 和 tiny_tds 进行连接。

当我使用扩展字符(如 ÞþÆæÓó)通过支架保存数据时,它工作正常,在 SQL Server Management Studio 中查看数据时字母是正确的,当我将数据读回 Rails UI 时,它显示正确。

当我在 Linux 机器上部署应用程序时,该机器也使用 freetds 和 tiny_tds 连接到同一个数据库,我得到 UI 中的字符乱码。当我通过 Linux 服务器保存数据时,字符在浏览器中正确显示,但在 SSMS 中查看数据时,字符已被编码且不可读(我输入 ÞÞðð)并在 SSMS 中获取:

这是我从 Linux 服务器的浏览器中获取的,用于从 Mac 写入数据库的 Suðurnes:

我在 database.yml 中设置了这一行:

它没有改变任何东西。我还在 freetds.conf 文件中设置了这一行:

SQL 数据库有 Icelandic_CI_AS 作为 CODEPAGE 但我很确定这不是问题,因为它在 Mac 机器上正常工作。

我已经在Passenger apache 和WEBrick 上对此进行了测试,所以我不认为是apache 导致了这种情况。

那么我必须更改 Linux 上的任何设置以使其行为方式与 mac 相似吗?

基本上,在 Web 服务器和数据库之间有一些东西来回转换值。

编辑: *当我使用 tsql 命令行工具查询数据库时,我得到了正确的文本编码。所以据我了解,这是路径:Web Client > Apache > Rails app > Tiny_tds > Freetds > SQL Server 所以问题一定出在 Apache 站点或 rails 应用程序本身。实际上,如果我使用 Apache 或 WebBrick 并不重要,所以我对问题所在感到困惑。有任何想法吗?*

问候,约翰

0 投票
1 回答
1918 浏览

freetds - 我不能用 freetds 0.91 制作 SQSH 2.1.7

我无法针对freetds构建sqsh这篇文章与https://sourceforge.net/projects/sqsh/forums/forum/365924/topic/4716627交叉引用。

我已经在 Solaris 10 上安装了来自 sunfreeware.com 的 Freetds 0.91。我已经按照用户指南第 9 章的说明确认了安装。

按照来自 sqsh.org 的 sqsh 说明,我将 SYBASE 环境变量设置为 /usr/local/freetds 并运行配置脚本。(我没有在这台机器上安装 Sybase。我不需要它。)

我已经检查了 Makefile,考虑到我所读的内容,它似乎是正确的。

当我运行 make 时,我得到(在构建了一堆东西之后):

错误是否与此有关:http ://www.freetds.org/faq.html#where.is.libtds.so ?

有任何想法吗?

参考freetds 邮件列表。参考sqsh 帮助论坛

0 投票
2 回答
4815 浏览

ruby-on-rails-3 - 将 Redhat 连接到 SQL Server 2008 for Ruby on Rails

我正在尝试将 Redhat Linux 连接到 Microsoft SQL Server 2008。我已经在 Windows(我的测试机器)上设置它时遇到了麻烦,但现在我需要将它部署在将用于生产的 Linux 机器上。

所以我安装了 unixODBC 和 FreeTDS(付出了很多努力,甚至不确定它是否安装正确:S),结果是我有 3 个文件/usr/local/etc

然后我编辑了freetds.conf文件,这就是我添加的内容:

我必须从我的 DBA 那里找出端口号,因为它在 SQL Server 2008 中设置为动态。

我的odbcinst.ini文件如下所示:

我的odbc.ini文件如下所示:

所以现在我尝试使用连接来查看是否有任何连接

tsql -S sqlServer -U test -P test,但是这只给了我以下错误:

当我尝试使用 isql,doingisql -v sqlServer test test时,会吐出以下错误:

有什么想法我可能做错了吗?

0 投票
3 回答
31675 浏览

sql-server - FreeTDS 连接问题

我正在使用 FreeTDS 0.91 连接到远程 MSSQL 服务器,但到目前为止所有尝试都没有结果。

在我的 Unix 上执行 tsql 命令时,我收到以下错误:

freetds.log 中包含以下内容:

这似乎是 SQL 服务器的问题,还是我安装或配置了 FreeTDS 错误?

所以迷路了。请帮忙。


当我通过 telnet 连接到服务器时,这是我得到的响应:

正在尝试 70.70.218.13...
连接到 70.70.218.13。
转义字符是 '^]'。
^^
连接被外国主机关闭。

这是否意味着与主机的 telnet 连接成功?

SQL 数据库在 Windows 服务器上运行。连接到 Windows 服务器(就像通过远程桌面一样)是用于主机名和端口的正确类型的值吗?还是我必须在 Windows 服务器上找到 SQL 服务器的直接主机名?