【问题标题】:Trouble connecting asp.net web site to local database .mdf file to retrieve data无法将 asp.net 网站连接到本地数据库 .mdf 文件以检索数据
【发布时间】:2015-09-07 02:20:54
【问题描述】:

我已经尝试了所有方法,但无法让基本的 asp.net 站点连接到数据库。我正在使用 Visual Studio 并尝试将本地数据库文件中的数据检索到 .cshtml 页面上的表中。

我尝试访问的数据库位于 App_Data 文件夹中。

在 Web.config 文件中,我在连接字符串下有以下内容:

<add name="connectionName" connectionString="Data Source=|DataDirectory|\database.mdf" providerName="System.Data.SqlClient"/>

在页面本身我有:

@{
var DB = Database.Open("connectionName");
var selectQueryString = "SELECT * FROM Clients ORDER BY lastName";
}

<table>
    <thead>
        <tr>
            <td>client_id</td>
            <td>firstName</td>
            <td>lastName</td>
            <td>address</td>
            <td>city</td>
            <td>state</td>
            <td>postalCode</td>
            <td>phone</td>
        </tr>
    </thead>
    @foreach (var row in DB.Query(selectQueryString))
    {
    <tr>
         <td>@row.client_id</td>
         <td>@row.firstName</td>
         <td>@row.lastName</td>
         <td>@row.address</td>
         <td>@row.city</td>
         <td>@row.state</td>
         <td>@row.postalCode</td>
         <td>@row.phone</td>
    </tr>
    }
</table>

被抛出的异常是:

An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code

我还看到一些文字说明问题可能是:

发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 定位服务器/实例时出错 指定)

【问题讨论】:

    标签: c# asp.net sql-server localhost local-database


    【解决方案1】:

    纳米。我发现我需要将 (LocalDB)\v11.0 更改为 (LocalDB)\MSSQLLocalDB 不再出现版本 782 错误。非常感谢你的帮助!让我发疯的帕德拉克!

    【讨论】:

      【解决方案2】:

      对于在 App_data 目录中具有 mdf 文件的本地数据源,您需要包含 AttachDbFilename 属性作为文件名,并将 data source 属性设置为您正在运行的本地数据库的版本。它应该看起来像这样。

      <add name="connectionName" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-myapp-mydb.mdf;Initial Catalog=aspnet-myapp-mydb;Integrated Security=True" providerName="System.Data.SqlClient" />
      

      【讨论】:

      • 非常感谢您的意见。看起来这是朝着正确的方向前进,但现在我看到了另一个例外。 System.Data.dll 中发生“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理附加信息:数据库“数据库”无法打开,因为它是 782 版。此服务器支持 706 版和早些时候。不支持降级路径。由于我使用 Visual Studio 创建 .mdf 文件并运行程序,我该如何更改正在使用的服务器版本?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 2013-12-17
      • 1970-01-01
      相关资源
      最近更新 更多