web-dev-qa-db-ja.com

非ドメイン登録LinuxボックスからSQuirreL SQLを使用してSQL Serverに接続する方法

会社のドメインに登録されていないLinuxボックスからSQL 2008 R2サーバーに接続する必要があります。 SQuirreL SQLバージョン3.2.1を使用しようとしています。 Microsoft SQL Server JDBC Driver 3. をダウンロードし、[ドライバー]タブでSQuirreLに割り当てました。

ここで、SQuirreLでエイリアスを作成しようとすると、SQL Serverドライバーを選択してURLを調整します。資格情報には、ドメインに登録されているユーザー名とパスワードを使用します。

接続をテストしようとすると、常に同じエラーが表示されます。

<"データベース名">:ユーザー '<"ドメイン">\<"ドメインユーザー">'のログオン失敗。

これをどのように機能させることができますか?前もって感謝します!

27
gtludwig

Microsoft SQL Server JDBCドライバーを削除し、 jTDS ドライバーをダウンロードしました。接続が成功するまで、少し調整しました。正しい接続文字列は次のとおりです。

jdbc:jtds:sqlserver://<server_ip>:1433;databaseName=<instance_name>;domain=<domain_name>
27
gtludwig

LinuxボックスではなくMacOS 10.9.3のSQuirrel SQLで同様の問題があったため、答えは時代遅れかもしれません。ピーターが問題を解決した方法に触発されました。解決策は最も簡単ではなかったので、ここに置くことにしました。それが誰かを助けることを願っています。

  1. SQL Server用の最新のMicrosoft JDBC Driver 4.0(tar.gzパッケージ)をダウンロードする
  2. パッケージからsqljdbc4.jarのみを抽出します
  3. JarファイルをSquirrel SQLにコピーします(Contents-> Resources-> Java-> Lib)
  4. エイリアスを作成するために、Microsoft MSSQL Server JDBCドライバーを使用できるようになりました
  5. 接続URL:jdbc:sqlserver:// SERVERNAME; databaseName = DATABASENAME
20
krebalo

私のために働いた別のソリューション。 SQL Server 2008 R2に接続しているWindowsデスクトップでは、次の手順に従う必要がありました。

  • jtds-1.3.1.jarをSQuirrel SQL\libディレクトリにコピーします
  • sQuirrel SQLを再起動し、ドライバーリストにjTDS Microsoft SQLが表示されることを確認します
  • ドライバー構成で、クラス名にnet.sourceforge.jtds.jdbc.Driverが指定されていることを確認してください。
  • このような接続文字列を使用します

jdbc:jtds:sqlserver://<hostnameOrIp>:<port>/<databaseName>;instance=<instanceName>

7
ManuelJE

LinuxボックスでSQuirrelからSQL Serverに接続できました。大まかな手順...

  • MSダウンロードのjdbc jarの1つだけが必要です(「lib」にコピー)
  • SQL Server認証を使用する必要があります(Windowsネットワーク認証ではありません)
  • SQL Server認証は既にデータベースで有効になっています
  • ログイン「jdoe」を追加しました
  • Jdoeのデフォルトデータベースを「XxxDb」に設定します
  • Jdoeから目的のデータベースに「ユーザーマッピング」を追加しました
  • SQL Serverでjdoeの権限を設定します:「接続」および「任意のデータベースの表示」
  • 接続文字列:jdbc:sqlserver:// SERVERNAME:1433; databaseName = XxxDb

*私は周りを突っ込んでいるのですべてを必要としないかもしれません

3
Peter L

Microsoft jdbcドライバーが、使用しているJavaランタイムバージョンと互換性があることを確認してください。

Java 6.0でDriver 6.0を使用しようとして、次のエラーが表示されました。ClassNotFoundException:javax.xml.bind.DatatypeConverterをバージョンJava SE Runtime Environment 8u101にダウングレードすると問題なく接続されました。

0
technotux