问题标签 [tiny-tds]

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 投票
1 回答
172 浏览

ruby-on-rails - Ruby Tiny_tds:nText 列类型被截断为 32223

我正在使用这些宝石

并像这样建立 Tiny TDS 连接

其中 C 列的类型为 nText

问题是当我尝试获取 nText 列(其中包含大约 1,00,000 个字符)时,结果被截断为仅 32223 个字符。

关于如何获得此列的完整价值的任何建议

0 投票
2 回答
1361 浏览

macos - Mac,Rails 4:使用“freetds”安装“tiny_tds”gem

我们正在使用activerecord-sqlserver-adapterRails 4 的适配器与 SQL Server 数据库通信。此适配器需要tiny_tdsgem。为了安装tiny_tds,您需要freetds在系统上安装,因为它在 gem 编译期间使用。

在我的系统上,我安装了 RVM 和 homebrew。我已经brew install freetds并确认它可以正常工作tsql -C并实际连接到 SQL Server。据我了解,这意味着freetds“安装”在我的机器上并且可以正常工作。

但是,每次我做一个gem install tiny_tdsif 抱怨freetds is missing

我已经尝试了几个参数选项来“链接”到正确的文件,但似乎没有什么对我有用。我已经花了几个小时在谷歌上搜索并查看 gem 作者的著作。我正在与之合作的其他一些开发人员具有此功能,但我正在建立一个新环境,由于某种原因无法使其正常工作。他们也已经对此进行了调查,但不确定问题出在哪里。

似乎tiny_tdsgem的安装只是不知道freetds系统上实际安装了它。

在旁注中,我也看过mini_portile它也没有正常工作......因为我已经在当前路径上花费了几个小时,我想在切换到调查之前弄清楚这一点mini_portile

这是安装的输出:

0 投票
1 回答
337 浏览

ruby-on-rails - 如何将我的 Rails 应用程序从 Ubuntu Guest 连接到 SQL Server 到 Windows 8.1 主机?

我在通过 VirtualBox 在装有 Ubuntu 的 Windows 8.1 机器上设置我的 rails 应用程序时遇到问题。我已尝试将我的 Ubuntu Guest Rails 应用程序连接到我的 Windows 8.1 SQL Server Express 数据库。

  1. Bridged Connection在我的 Virtual Box 网络适配器上设置
  2. 我已经在我的 ubuntu 客户机上安装了我的 rails 应用程序和 freetds。
  3. SQL Server Configuration Manager我在 SQL Server 网络配置下启用了 TCP/IP
  4. 创建数据库后,我还为我的数据库设置了正确的登录用户。

我可以在 ubuntu 上运行我的 rails 应用程序,rails s并且运行良好。当我尝试从我的 Windows 主机或 ubuntu 来宾访问它时,它最初会显示一个GET,直到它最终出错并向我显示此消息Unable to connect: Adaptive Server is unavailable or does not exist。我不确定接下来要尝试什么。我正在寻找一种方法来在终端中测试与 Rails 之外的数据库的连接,以查看是否可以先获得连接,但到目前为止我的尝试没有产生任何结果。下面是我的database.yml。我使用的 ip 地址是我为 windows 主机获得的 ip 地址。

0 投票
1 回答
60 浏览

sql - SQL Server 2005 SP 调用在 SSMS 中有效,但不使用 tiny_tds

我正在尝试使用它们提供的存储过程来监视 SQL Server 2005 复制。

我可以在 SSMS 中运行以下命令并获取数据:

如果我使用 tiny_tds 运行相同的查询,我会得到以下信息:

…………………………………………………………………………

我没有运气在任何地方找到这个特定的错误。任何人都可以帮忙吗?

0 投票
0 回答
128 浏览

ruby - ruby: util.c:95: tds_set_state: 断言 `tds->state < (sizeof(state_names)/sizeof(state_names[0]))' 失败。中止

当我在消费者端阅读超过 100 条消息时,我收到以下错误。我将消息发布到 RabbitMQ 并运行消费者从 RabbitMQ 读取它在发现超过 100 条或有时 90 条消息时中断,错误如下所示

好的,谢谢。让我解释一下问题。请参阅我有一个用 .Net 编写的发布者,它将消息推送到 RabbitMQ(开源 Q)然后我有一个从该队列读取的消费者。当一分钟内的消息少于 100 条时,它读取正常,但当数量超过时,它会触发错误,并且应用程序因我提供的上述错误而终止

0 投票
1 回答
10807 浏览

ruby-on-rails - TinyTds 错误:Adaptive Server 连接超时

我们正在使用当前 tinyTDS gem 0.6.2 在 rails 3.2.12(ruby 1.9.3)上运行 ruby​​ on rails 应用程序。

我们使用 MS SQL 2012 或 2014 并面临比平常更多的以下错误消息:

数据库自动关闭已关闭。TCP Socket Timeouts 是默认的 Windows 系统。

应用程序服务器在机器 #1(Windows 服务器)上,SQL 服务器在机器 #2(Windows 服务器)上。

当我检查连接(netstat)时,我为大约 20-30 个用户打开了 250 个连接。我运行 perform.exe 来查看 SQL Server 上数据和日志磁盘的空闲时间。

database.yml 有连接pool:32reconnect:true.

在我看来,tinyTDS 似乎失去了连接,并且任何异常都会阻止重新连接。

问题是,如何调试问题以找出问题所在?

更新

我的错,原来的错误信息属于 tinytDS 0.5.x。由于我更新到最新版本,因此我另外或相反地收到以下错误:

0 投票
1 回答
610 浏览

ruby-on-rails - 门卫在 /oauth/token 请求上抛出 ActiveRecord::RecordNotUnique TinyTds 错误

我确定我在这方面是独一无二的,但我有一个 Rails 4.1.8 应用程序运行 Tiny Tds / activerecord-sqlserver-adapter 到 MS SQL Server。

在调用 /oauth/token 时会产生错误:Cannot insert duplicate key row in object dbo.oauth_access_tokens with unique index index_oauth_access_tokens_on_refresh_token

为什么它会尝试插入新记录而不是更新它?我试图通过克隆项目来调试 Doorkeeper,并试图找出发生这种情况的原因或方式,但我没有任何运气。

以下是我所知道的信息:我正在运行 Rails 4.1.8、2.0.0.rc2(我尝试过其他版本无济于事)和 Devise。

在我第一次成功创建令牌记录时发送 oauth2.password.client 请求。

根据第二个请求,我从 Tiny Tds 收到重复的唯一索引键错误。

有没有人有看门人的经验,并且可能会指出我在哪里寻找调试此功能的正确方向。每次我想我找到它时,我都会尝试看看我是否在正确的位置,并且没有任何变化。

这是请求的日志:

另外,如果我删除唯一索引,它会在我每次发出请求时创建一个新的令牌记录......我认为这应该更新现有的?

更新 2014 年 12 月 12 日上午 9:27

如果我在门卫初始化程序中设置了reuse_access_token,它将起作用......但我假设一旦令牌过期,它会抛出同样的错误......我想这至少会让我得到回应,直到我得到一个可能的方式的回应解决这个...

0 投票
1 回答
2056 浏览

ruby-on-rails - 如何延长 activerecord 和 tinytds 超时?

症状是:

TinyTds::Error: Adaptive Server 连接超时:EXEC some_stored_procedure

这是execute_procedure通过 ActiveRecord over 在慢速 MSSQL Server 上的慢速存储过程tinytds。如果我EXEC在 SQL 查询分析器中存储过程,它需要 29 到 30 才能完成。

所以我补充说:

/etc/freetds.conf和:

database.yml.

同样的错误仍然出现。还有其他我错过的配置吗?

ps 我确实测量了按下返回键后超时错误出现的时间,大约是 30 秒。我有一种感觉 30 秒可能不是 or 的默认超时,freetds并且activerecord 想知道为什么错误显示的时间有点接近 sql 完成的时间......

0 投票
1 回答
552 浏览

ruby-on-rails - TinyTDS:检查查询是否成功

我在 rails 项目中使用 tiny_tds gem(使用旧版 MSSQL 2008 数据库)

我执行以下查询:

之后,我无法确定查询是否成功。我试过使用:

返回-1

我也试过

返回nil

返回-1

查询成功是因为在数据库中进行了更改,那么为什么会出现错误的结果?

如何检查查询是否成功?

0 投票
1 回答
1604 浏览

ruby-on-rails - TinyTDS 超时和死锁很多

我有一个相对较大的系统运行 Rails 和 TinyTds(使用 FreeTds 的 SQLServer 数据库适配器)。问题是我每天收到大约 200 封电子邮件,说我的请求超时或死锁。

它们总是发生在不同的动作上。

我不知道为什么它会超时这么多,并且已经在这些电子邮件中苦苦挣扎了将近 2 个月。我已经尝试更新 gem 版本,FreeTds 的 linux 二进制文件,但没有任何帮助。

目前使用 Ruby 1.9.3-p484、Rails 3.2.16 和 TinyTds 0.6.2

谁能给我一些关于如何解决这个问题的见解?