2013-10-24 27 views
9

JavaアプリケーションでjTDSドライバを使用しています。データベース管理者はSQL Serverインスタンス名がjTDS接続文字列:バックスラッシュでMS SQL Serverインスタンスに接続

MSSQL-DB09v1\v1

がどのように接続URLを書くべきであることを私に言いましたか?

私はしばらくの間

jdbc:jtds:sqlserver://server-name/database_name 

のようなものを使用している、それがうまく動作しますが、インスタンス名は、バックスラッシュが含まれている場合、右の接続文字列を知りません。

答えて

22

さらなる研究とテストを行いました。見つけた、この場合の正しい接続URL文字列は次のとおりです。私の場合は

jdbc:jtds:sqlserver://server-name/database_name;instance=instance_name 

、接続文字列は次のとおりです。

jdbc:jtds:sqlserver://server-name/MSSQL-DB09v1;instance=v1 

詳細

+1

私は、ありがとう。私の場合、ホスト名はこのMSSQL-DB09v1 \ v1のように、バックスラッシュです。 javaでそれをエスケープしてもうまくいきませんでした。 – thirdy

3

ためjTDSFAQsを参照してください、私は同様のケースがありました私のDBAは私に次の接続を持つサーバ上のデータベースを与えました:{SERVER_NAME}\{INSTANCE}。この構文はSSMSを使用してサーバーとインスタンスに接続するときに機能しましたが、Javaドライバを使用して接続すると機能しませんでした。

は代わりに、次の構文は私のために働いていた:私は、接続文字列パラメータにインスタンスを移動しなければならなかった

jdbc:jtds:sqlserver://{SERVER_NAME};databaseName={DATABASE_NAME);instance={INSTANCE}

注意してください。私がこれをしたら、すべてうまくいった。

参考のため、this specific JTDS FAQを参照してください。

関連する問題