3

Azure Linux VM で実行されている NodeJS アプリケーションから接続しようとしている SQL Azure データベースがあります。私がローカルのSQLデータベース/およびNodeJSのローカルマシンにいる場合、すべてが正常に機能します。ただし、VM から実行すると、次の出力が得られます (トレース出力と Tedious デバッグ イベント)。

connected to XXXXXXX.database.windows.net:1433
State change: Connecting -> SentPrelogin
State change: SentPrelogin -> SentLogin7WithStandardLogin
connection to XXXXXXX.database.windows.net:1433 closed
State change: SentLogin7WithStandardLogin -> Final
Writing CSV files....
connection to XXXXXXX.database.windows.net:1433 closed
State change: Final -> Final
All Done!

問題は、エラーが発生することはありませんが、接続が自動的に閉じられているように見えることです。

ここで何が起こっているのか、または実際のエラーに到達する方法について何か考えはありますか?

4

2 に答える 2

8

わかりました-このスレッドのおかげで解決しました

2 つの問題がありました。

  1. SQL Azure は暗号化された接続を必要とするため、接続オプションで encrypt:true が必要です
  2. userName 構成オプションには、データベース修飾名が必要です (例: user@XXXXXX.database.windows.net)。

他の誰かがこれに遭遇した場合に備えて:)

于 2013-04-16T22:27:14.020 に答える
1

共有する価値があると思われる 3 番目の問題に遭遇しました。ファイアウォール/ISP/ポート/その他の問題が原因で、デバッグ用にローカル SQL インスタンスをセットアップする必要がありました。

メイン ツリーの下で「データベース」パラメーターを使用すると、SQL Server 2014 のローカル インスタンスが機能しました。ただし、Azure インスタンスは、'options' の下にある場合、'database' パラメーターのみを受け取ります。

"sqlserverConfig": {
    "userName": "SomeUser@someazureserver.database.windows.net",
    "password": "SomePW",
    "server": "someazureserver.database.windows.net",
    "options": {
        "encrypt": true,
        "database": "SomeDatabase"
    }
  }

私にとって、観察した症状は、デフォルトでマスターデータベースに接続していたということでした。そのため、ストアドプロシージャが見つからないなど、非常にイライラしました。これが誰かに役立つことを願っています。

于 2014-06-10T20:09:56.507 に答える