これは奇妙なものです。私のマシンには、tiny_tds バージョンを使用するいくつかの ruby コードがあります: 0.6.0.rc1
すべてが正常に動作します。同僚が同じコードを実行しようとすると、次のエラーが発生します。
TinyTds::Error: Adaptive Server 接続に失敗しました
私のマシンでは必要ないため、ユーザー名またはパスワードを提供せずに接続しています。何か案は?これは sql データベースでの権利でしょうか?
前もって感謝します
SQL 2008 R2 と SQL Express がインストールされているマシンに問題があることに注意してください。SQL Express には接続できますが、SQL 2008 R2 には接続できません
これが私たちが使用しているコードです
def self.GetTestMprsFromDB(dataServer,database,query)
mprids = Array.new
client = TinyTds::Client.new(:dataserver => dataServer, :database => database, :timeout => 1000)
初期化時に tiny_tds にステップインするとき
def initialize(opts={})
if opts[:password] && opts[:password].to_s.strip != ''
opts[:password] = opts[:password].to_s
warn 'FreeTDS may have issues with passwords longer than 30 characters!' if opts[:password].length > 30
end
raise ArgumentError, 'missing :host option if no :dataserver given' if opts[:dataserver].to_s.empty? && opts[:host].to_s.empty?
@query_options = @@default_query_options.dup
opts[:appname] ||= 'TinyTds'
opts[:tds_version] = TDS_VERSIONS_SETTERS[opts[:tds_version].to_s] || TDS_VERSIONS_SETTERS['71']
opts[:login_timeout] ||= 60
opts[:timeout] ||= 5
opts[:encoding] = (opts[:encoding].nil? || opts[:encoding].downcase == 'utf8') ? 'UTF-8' : opts[:encoding].upcase
opts[:port] ||= 1433
opts[:dataserver] = "#{opts[:host]}:#{opts[:port]}" if opts[:dataserver].to_s.empty?
connect(opts)
end
最後にエラーをスローします