簡體   English   中英

如何使用非域注冊的Linux機箱中的SQuirreL SQL連接到SQL Server?

[英]how to connect to SQL Server with SQuirreL SQL from non domain registered Linux box?

我需要從我的Linux機箱連接到SQL 2008 R2服務器,該服務器未在我公司的域中注冊。 我正在嘗試使用SQuirreL SQL版本3.2.1。 我下載了Microsoft SQL Server JDBC Driver 3.0並將其分配給Drivers選項卡上的SQuirreL。

現在,當我嘗試在SQuirreL上創建一個Alias時,我選擇了SQL Server驅動程序並調整了URL。 對於憑據,我使用我的域名注冊用戶名和密碼。

當我嘗試測試連接時,我總是得到同樣的錯誤:

<“database-name”>:用戶'<“domain”> \\ <“domain-user”>'的登錄失敗。

我怎樣才能使這個工作? 提前致謝!

我擺脫了Microsoft SQL Server JDBC驅動程序並下載了jTDS驅動程序。 我稍微調整了一下,直到我終於成功連接。 正確的連接字符串是:

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

答案可能已經過時了,因為我在MacOS 10.9.3上遇到了與SQuirrel SQL類似的問題,而不是在Linux機器上。 彼得解決問題的方式激發了我的靈感。 由於解決方案不是最直接的,我決定把它放在這里。 希望它可以幫助某人。

  1. 下載適用於SQL Server的最新Microsoft JDBC驅動程序4.0(tar.gz包)
  2. 從包中僅提取sqljdbc4.jar
  3. 將jar文件復制到Squirrel SQL(Contents-> Resources-> Java-> Lib)
  4. 現在,Microsoft MSSQL Server JDBC驅動程序可用於創建Alias
  5. 連接URL:jdbc:sqlserver:// SERVERNAME; databaseName = DATABASENAME

另一個對我有用的解決方案。 在連接到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>

我設法在Linux機器上從SQuirrel連接到SQL Server。 粗糙*步驟......

  • 您只需要MS下載中的一個jdbc jar(復制到'lib')
  • 必須使用SQL Server身份驗證(不是Windows網絡身份驗證)
  • 我們的數據庫已經啟用了SQL Server身份驗證
  • 添加了登錄'jdoe'
  • 將jdoe默認數據庫設置為'XxxDb'
  • 從jdoe添加了“用戶映射”到所需的數據庫
  • 在SQL Server上為jdoe設置權限:'Connect'和'查看任何數據庫'
  • 連接字符串:jdbc:sqlserver:// SERVERNAME:1433; databaseName = XxxDb

*我可能不需要一切,因為我在四處尋找

確保Microsoft jdbc驅動程序與您正在使用的Java運行時版本兼容,

我試圖使用驅動程序6.0與java-9,我得到這個錯誤:ClassNotFoundException:javax.xml.bind.DatatypeConverter當我降級到版本Java SE運行時環境8u101它連接沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM