gpt4 book ai didi

ruby - 将 SSPI 与 Ruby TinyTDS 结合使用 - 可能吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:44 26 4
gpt4 key购买 nike

在尝试使用 Ruby 连接到 SQLServer 数据库时经历了一些痛苦之后,我终于发现了 TinyTDS这太棒了。

但是,它需要用户名和密码才能与数据库对话。在过去的 C# 测试中,我们使用 SSPI 来提供它,这样任何测试人员都可以选择脚本并运行它,它将使用他们的 Windows 身份验证详细信息。

我找不到使用 TDS 执行此操作的方法(开始怀疑当前版本不可能)并希望有人能证明我错了,或者有其他建议?

干杯。

最佳答案

找到解决方案。

我安装的 tiny-tds 是 0.51 版。

最新版本有 SSPI,因此要获取它:

gem install tiny_tds --version ">= 0.6.0.rc1"

无需指定用户名/密码,默认使用 SSPI。

举个例子:

require  'tiny_tds'

sql = "SELECT name from sys.databases"
client = TinyTds::Client.new(:dataserver => "myserver", :database => "mydatabase")
result = client.execute(sql)
results = result.each(:symbolize_keys => true, :as => :array, :cache_rows => true, :empty_sets => true) do |rowset| end
#THIS IS TO OUTPUT IT TO THE CONSOLE
for i in (0..result.fields.length)
printf("%14s", result.fields[i])
end
for j in (0...result.affected_rows)
puts ""
for i in (0...result.fields.length)
printf("%14s",results[j].at(i))
end
end

将打印出数据库名称列表,使用 SSPI 访问数据库。

关于ruby - 将 SSPI 与 Ruby TinyTDS 结合使用 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14349698/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com