Sql-Server

SQL Server,odbc新手問題

  • March 12, 2018

我的新工作有一些 sql server 2014。我是 Oracle DBA。

我需要幫助一個客戶。

他們在創建從筆記型電腦到數據庫伺服器(或 MS 稱為數據庫的任何東西)的 ODBC 連接時遇到問題

我可以訪問 MS SQL Server 2014 Management Studio。

問題:如何在我的筆記型電腦上創建到此數據庫的 ODBC 連接以測試並為客戶端提供程序?

我需要自己創建一個使用者來測試嗎?

(在 oracle 中,我會安裝客戶端並給他們一個 tnsnames 和一個別名以供使用,並且可能使用 tnsping 或 sqlplus 來檢查連接)

編輯1:

我使用 Oracle SQL Developer,它使用 jdbc。也許你可以幫我設置我的第一個 JDBC 連接。

EDIT2:嘗試了 ODBC 數據源,但失敗了 在此處輸入圖像描述

EDIT3:檢查是否啟用了 1433 並且看起來有東西正在連接到該伺服器;

活動連接

原始本地地址外國地址狀態

TCP 0.0.0.0:1433 0.0.0.0:0 監聽

TCP xxx.xx.xx.xxx:3389 xxx.xx.xx.xxx:56010 已建立

TCP xxx.xx.xx.xxx:56984 xxx.xx.xx.xxx:2074 已建立

感謝 Max Vernon 和 Dan Guzman。他們都對我幫助很大。這是一個防火牆問題。

  • Dan Guzman 的 powershell 腳本讓我可以測試我的更改。
  • Max Vernon 的 odbc 設置說明讓我可以連接。

解決方案:

我獲得了伺服器的管理員權限,並按照以下步驟打開了一個入站埠:

  1. 我下載並安裝了 msodbcsql.msi 來為我的筆記型電腦獲取 SQL Server odbc 客戶端。
  2. 我創建了 ODBC 數據源。
  3. 我下載了jtds-1.3.1.jar
  4. 我跟著甲骨文的;“如何在 SQL*DEVELOPER 中創建與 SQL Server 的連接”(文件 ID 471882.1)
  5. 我能夠讓 Oracle 的 SQL Dev 與 SQL Server 對話,並且使用者和我都可以訪問該數據庫。

如果您使用的是 SQL Server Management Studio (SSMS),則無需通過 ODBC“創建”連接,只需通過 SSMS 使用者界面直接連接到伺服器即可:

在此處輸入圖像描述

在 SQL Server 中,相當於 Oracle 的“數據庫伺服器”稱為“SQL Server 實例”。它可以包含許多數據庫,類似於 Oracle 中的“模式”。

因此,當您通過 SSMS 連接時,您會連接到實例,該實例採用以下形式:

COMPUTERNAME

對於“預設的、未命名的”實例或“命名的”實例:

COMPUTERNAME\INSTANCENAME

SQL Server Browser 服務自動將 INSTANCENAME 解析為埠;如果該服務未執行或被防火牆阻止,您可能需要使用埠號進行連接,如下所示:

tcp://COMPUTERNAME,0000

0000實例的埠號在哪裡。

如果您無權訪問該實例,您將看到“身份驗證失敗”錯誤消息。如果 SSMS 由於防火牆而無法聯繫實例,或者伺服器未在您指定的埠上偵聽,您將看到一個錯誤指示,類似於:

“建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。找不到伺服器或無法訪問該伺服器。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。”

要通過 ODBC 創建連接,請從 Windows 控制面板打開 ODBC 數據源管理器。您可以創建“使用者 DSN”或“系統 DSN”,無論哪種方式選擇SQL Server Native Client 12.0驅動程序:

在此處輸入圖像描述

填寫詳細資訊(使用上面詳述的伺服器名稱):

在此處輸入圖像描述

如果您計劃使用集成的 Active Directory 域身份驗證,請接受其餘配置螢幕的預設設置。如果將使用 SQL Server 登錄進行登錄,請在此螢幕上輸入這些詳細資訊:

在此處輸入圖像描述

引用自:https://dba.stackexchange.com/questions/199832