簡體   English   中英

無法建立與SQL Server數據庫的連接

[英]Unable to establish a connection to a database of SQL Server

連接到SQL Server時,網絡或特定實例發生錯誤

The server was not found or is not available.
Verify that the instance name is spelled correctly 
and that SQL Server allow remote connections. 

provider: SQL Network Interfaces, error: 26 - 
Error detection specified server or instance.

與數據庫的連接字符串:

<add name="RequirementContext" 
    connectionString="Data Source=RU-DEV24;Initial Catalog=OpenSoft.AgileAnalytics.EF;Integrated Security=True;MultipleActiveResultSets=True"
    providerName="System.Data.SqlClient" />

我不明白,這就是為什么會發生此錯誤。 請幫助!

錯誤代碼

public class Permission
    {
        public string RoleString
        {
            get
            {
                return string.Join(", ", UserRoles);
            }
        }

        public int UserId { get; set; }

        public string UserName { get; set; }

        public List<string> UserRoles { get; set; }

        public static Permission CreateFromUserProfile(UserProfile userProfile)
        {
            //here
            return new Permission
            {
                UserId = userProfile.UserId,
                UserName = userProfile.UserName,
                UserRoles = Roles.GetRolesForUser(userProfile.UserName).ToList(),
            };
        }
    }

!!!! 問題解決了。 我剛剛在文件web.config中添加了以下代碼:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider,WebMatrix.WebData" />
      </providers>
    </roleManager>
    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
      </providers>
    </membership>

確保您的數據庫引擎正在接受遠程連接:

  • 開始 > 所有程序 > SQL Server 2012 > 配置工具 > SQL Server外圍應用配置器
  • 單擊用於服務和連接的外圍應用配置
  • 選擇面臨問題的實例>數據庫引擎>遠程連接
  • 啟用本地和遠程連接
  • 重新啟動實例

在SQL Server配置中啟用TCP / IP:

  • 轉到開始 > 所有程序 > Microsoft SQL Server 2012 > 配置工具 > SQL Server配置管理器 >選擇TCP / IP
  • 右鍵單擊並選擇啟用

確保SQL Browser服務正在運行:

  • 在開始菜單上,右鍵單擊我的電腦 ,然后單擊管理
  • 在“ 計算機管理”中 ,展開“ 服務和應用程序” ,然后單擊“ 服務”
  • 在服務列表中,雙擊“ SQL Server Browser”
  • 在“ SQL Server瀏覽器屬性”窗口中,單擊“ 開始”或“ 停止” 服務啟動或停止時,單擊確定

配置Windows防火牆以允許訪問:

  • 在開始菜單上,單擊運行 ,鍵入WF.msc ,然后單擊確定
  • 在具有高級安全性的Windows防火牆的左窗格中,右鍵單擊“ 入站規則” ,然后在操作窗格中單擊“ 新建規則 ”。
  • 在“ 規則類型”對話框中,選擇“ 端口” ,然后單擊“ 下一步”
  • 在“ 協議和端口”對話框中,選擇“ TCP” 選擇“特定本地端口”,然后鍵入數據庫引擎實例的端口號,例如默認實例為1433 單擊下一步
  • 在“ 操作”對話框中,選擇“ 允許連接” ,然后單擊“ 下一步”
  • 在“ 配置文件”對話框中,選擇任何要描述要連接到數據庫引擎的計算機連接環境的配置文件,然后單擊“ 下一步”
  • 在“ 名稱”對話框中,為此規則輸入名稱和描述,然后單擊“ 完成”

導致此錯誤的常見原因:

  1. 連接字符串中命名的服務器不存在(拼寫錯誤等)
  2. 服務器不可用(離線等)
  3. 服務器無法訪問(嘗試ping主機名以驗證前3個主機名)
  4. 服務器未配置為允許網絡訪問
  5. Windows防火牆(或其他安全軟件)禁止訪問SQL Server端口
  6. SQL Server實例名稱未指定或不正確(在上面的示例中,除非您在服務器上使用默認實例,否則連接將失敗)

如果您使用的是SQL Express,則可能應使用“ SQLEXPRESS”作為服務器的實例名稱。

暫無
暫無

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

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