4

プッシュボタンの夜間デプロイ用のdbスクリプトのデプロイを自動化しています。私の最初のアプローチは、Windowsターミナルでsqlcmdを使用し、結果をtxtファイルに保存し、それを解析してスクリプトが成功したことを確認することでした。ファイルの解析と戻りコードの検索には問題があったため、TinyTdsを使用しました。これが私のコードです:

      client = TinyTds::Client.new(:username => DB_USER, :password => DB_PASSWORD, :dataserver => DB_SERVERNAME, :timeout => 1200)
      result = client.execute(IO.read(filename))
      puts result.return_code

nilまたは次のエラーのいずれかが発生します(.sqlスクリプトの内容によって異なります)

    run_sql.rb:24:in `execute': Attempt to initiate a new Adaptive Server operation with results pending (TinyTds::Error)

変化

    result = client.execute(IO.read(filename))

    result = client.execute(IO.read(filename)).do

収量

    run_sql.rb:26:in `do': Incorrect syntax near 'go'. (TinyTds::Error)
4

1 に答える 1

1

あなたの答えは、TinyTDS にフィードしようとしている SQL に依存すると思います。バッチが適切にフォーマットされていない可能性があります。あなたもやりたいかもしれませresult = client.execute(data).eachん。

于 2012-08-09T12:24:41.553 に答える