SQL Server,odbc新手問題
我的新工作有一些 sql server 2014。我是 Oracle DBA。
我需要幫助一個客戶。
他們在創建從筆記型電腦到數據庫伺服器(或 MS 稱為數據庫的任何東西)的 ODBC 連接時遇到問題
我可以訪問 MS SQL Server 2014 Management Studio。
問題:如何在我的筆記型電腦上創建到此數據庫的 ODBC 連接以測試並為客戶端提供程序?
我需要自己創建一個使用者來測試嗎?
(在 oracle 中,我會安裝客戶端並給他們一個 tnsnames 和一個別名以供使用,並且可能使用 tnsping 或 sqlplus 來檢查連接)
編輯1:
我使用 Oracle SQL Developer,它使用 jdbc。也許你可以幫我設置我的第一個 JDBC 連接。
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 設置說明讓我可以連接。
解決方案:
我獲得了伺服器的管理員權限,並按照以下步驟打開了一個入站埠:
- 我下載並安裝了 msodbcsql.msi 來為我的筆記型電腦獲取 SQL Server odbc 客戶端。
- 我創建了 ODBC 數據源。
- 我下載了jtds-1.3.1.jar
- 我跟著甲骨文的;“如何在 SQL*DEVELOPER 中創建與 SQL Server 的連接”(文件 ID 471882.1)
- 我能夠讓 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 登錄進行登錄,請在此螢幕上輸入這些詳細資訊: