簡體   English   中英

sql 2008服務器連接

[英]sql 2008 server connection

嘿有人能告訴我這里有什么問題嗎?

SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "server=zekyakad-7727\\sqlexpress.master.dbo;database=master;";
sqlConn.Open(); //error line

錯誤消息:建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,以及SQL Server是否配置為允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 查找指定的服務器/實例時出錯)

可以是任何數量的東西:

  • 連接字符串不正確
  • 運行此計算機的計算機與SQL Server之間沒有網絡訪問權限
  • 有防火牆阻止特定的所需端口
  • SQL Server未運行
  • SQL Server未配置為允許遠程連接
  • 您尚未提供任何憑據或設置與Windows Auth的連接
  • 用戶沒有SQL Server的登錄權限

所以:

  • 確保使用正確的連接字符串
  • 確保SQL Server正在運行
  • 檢查網絡並確保可以連接到SQL Server
  • 配置SQL Server以進行遠程連接
  • 確保您提供有效的憑據

更具體一點:

您將連接字符串中的Server設置為:

zekyakad-7727\\sqlexpress.master.dbo

這看起來不像服務器的名稱。 這應該是zekyakad-7727

看一下connectionstrings.com ,看看哪些有效的連接字符串應該是什么樣的。

檢查以下事項。

  1. 確保將數據庫引擎配置為接受遠程連接•開始>所有程序> SQL Server 2005>配置工具> SQL Server表面區域配置•單擊服務和連接的表面區域配置•選擇出現問題的實例>數據庫引擎>遠程連接•啟用本地和遠程連接•重新啟動實例

  2. 檢查SQL Server服務帳戶•如果您沒有將域帳戶用作服務帳戶(例如,如果您使用的是NETWORK SERVICE),則可能需要先切換它,然后再繼續

  3. 如果您使用的是命名SQL Server實例,請確保在ASweb P.NET應用程序的連接字符串中使用該實例名稱•通常,指定數據庫服務器所需的格式為machinename \\ instancename•還要檢查連接字符串

  4. 您可能需要在防火牆上為您正在使用的SQL Server實例和端口創建例外

•開始>運行> Firewall.cpl•單擊例外選項卡•添加sqlservr.exe(通常位於C:\\ Program Files(x86)\\ Microsoft SQL Server \\ MSSQL.x \\ MSSQL \\ Binn)和端口(默認為1433)•檢查連接字符串

<connectionStrings>
<add name=”SampleConnectionString” connectionString=”Data Source=machinename\in
stancename;Initial Catalog=AdventureWorks;Integrated Security=SSPI;Min  Pool Size=5;Max     Pool Size=60;Connect Timeout=30″ providerName=”System.Data.SqlClient”/>

</connectionStrings>

5.如果您使用的是命名的SQL Server實例,請確保在連接字符串中使用該實例名稱

6.檢查SQLBrowser; 檢查它是否正在運行。 您可能還需要在防火牆中為SQLBrowser創建一個例外。

7.檢查您是否已連接到SQL Server。 請注意您用於連接的內容:計算機名稱,域名或IP地址? 檢查連接時使用此選項。 例如,如果您正在使用myserver•開始>運行> cmd•netstat -ano | findstr 1433•telnet myserver 1433•ping -a myserver

檢查哪些端口是返回的IP地址。

替代方法:如果仍然無法建立連接,則可能需要在服務器上創建一個SQL帳戶,在相關數據庫上創建相應的SQL用戶,並在Web應用程序中使用此用戶名/密碼組合。

我建議您以下列方式使用SqlConnectionStringBuilder ,而不是以這種方式輸入連接SqlConnectionStringBuilder 這不容易出錯。

SqlConnection dataConnection = new SqlConnection();
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = ".\\SQLExpress"; // Your Datasource
builder.InitialCatalog = "Northwind"; // Database Name
builder.IntegratedSecurity = true;
dataConnection.ConnectionString = builder.ConnectionString;
dataConnection.Open();

暫無
暫無

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

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