簡體   English   中英

SQL Server 2005 localhost系統DSN無法正常工作

[英]Sql Server 2005 localhost System DSN not working

我有一個C#.Net 3.5可執行文件,該文件在本地計算機上運行,​​並對運行SQL Server 2005的服務器進行數據庫調用。我在本地計算機上使用“ Sourceserver”(帶有驅動程序設置為SQL Server)。 創建DSN時,可以成功測試到服務器的連接。

我已將localserver添加到可執行文件的連接字符串中,並且收到錯誤消息“與SQL Server建立連接時發生與網絡相關或特定於實例的錯誤。找不到服務器或無法訪問該服務器。請驗證實例名稱正確,並且SQL Server已配置為允許遠程連接。(提供者:命名管道提供程序,錯誤:40-無法打開與SQL Server的連接)”

我連接到的服務器允許進行遠程連接。 當我用服務器名稱替換localserver時,它連接正常,但是此程序將在具有多個服務器名稱的多個位置,因此我需要使數據源動態化。

有什么想法為什么會這樣?

謝謝,

亞倫

編輯:

我也嘗試使用“ localserver,1433”作為數據源,但出現此錯誤:“與SQL Server建立連接時發生了與網絡有關或與實例有關的錯誤。找不到服務器或無法訪問服務器。驗證實例名稱正確並且已將SQL Server配置為允許遠程連接。(提供者:TCP Provider,錯誤:0-此類主機未知。)”

編輯:

謝謝你的回復。 為了解決我的問題,我做了一個小方法來使用odbc連接收集服務器名稱。

然后,我可以將服務器名稱發送到SqlConnection。 再次感謝您的輸入。

SqlClient(即SqlConnection)與ODBC完全無關。 因此,在SqlClient連接字符串中使用ODBC數據源名稱將使您無處快速。

您可以在app.config中配置服務器名稱,並使用SqlConnectionStringBuilder構建連接字符串。 在部署時,您可以適當地更改exe或用戶的.config文件。

正如Remus所說,DSN與SqlConnection無關。 而是使用以下連接字符串:

http://www.connectionstrings.com/sql-server-2005#1

另請閱讀:

http://msdn.microsoft.com/zh-CN/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

以上文章摘錄:

要連接到本地計算機,請為服務器指定“(本地)”。 如果未指定服務器名稱,則將嘗試連接到本地計算機上的默認實例。

我會重復說SqlConnection與DSN無關,

暫無
暫無

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

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