【问题标题】:Error while accessing Database from Web Pages从网页访问数据库时出错
【发布时间】:2016-12-06 02:07:38
【问题描述】:

我试图在 VS2013 中从我的网页访问数据库。它给了我错误

System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理

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

我的代码:

@{
    var db = Database.Open("Rohit");
    var selectQueryString = "SELECT * FROM Sample";
}
<html>
<body>
<h1>Small Bakery Products</h1>
<table>
    <tr>
        <th>Id</th>
         <th>Name</th>
    </tr>
    @foreach (var row in db.Query(selectQueryString))
    {
        <tr>
            <td>@row.Id</td>
            <td>@row.Name</td>

        </tr>
    }
</table>

@foreach 行出现错误。

【问题讨论】:

    标签: sql asp.net entity-framework razor


    【解决方案1】:

    Database.Open(name) 方法将分两步连接到数据库:

    首先,它在应用程序的 App_Data 文件夹中搜索与 name 参数匹配但没有文件扩展名的数据库。

    如果没有找到文件,它会在应用程序的 Web.config 文件中查找“connection string”。

    (连接字符串包含有关如何连接到数据库的信息。它可以包括文件路径,或 SQL 数据库的名称,以及完整的用户名和密码)

    这个两步搜索可以使用本地数据库测试应用程序,并使用连接字符串在 Web 主机上运行应用程序。

    现在考虑这些步骤并尝试连接到您的数据库。

    【讨论】:

    • 错误在线 - @foreach (var row in db.Query(selectQueryString))。所以我认为连接数据库没有问题
    • 请确保AppCode 文件夹中有.mdf 文件,Web.config 中有ConnectionString 文件
    • 我可以在 App_Data 文件夹中找到我的数据库。但是 web.config 中没有相对连接字符串。
    • 在 Web.config 中添加了连接字符串。 现在收到此错误“'System.Data.SqlServerCe 类型的异常。 System.Data.SqlServerCe.dll 中发生 SqlCeException' 但未在用户代码中处理"
    • 为您的 mdf 文件添加连接字符串,如下所示:&lt;connectionStrings&gt; &lt;add name="ConnectionName" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /&gt; &lt;/connectionStrings&gt;
    【解决方案2】:

    错误消息说明了一切 - 无法打开数据库 - 这可能是由于错误的连接字符串或网络/数据库配置而发生的。要进行故障排除,请尝试在 web.config 文件中添加完整的连接字符串

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
       <add 
         name="Rohit" 
         connectionString= "server=myServer;database=myDatabase;uid=username;pwd=password"
         providerName="System.Data.SqlClient" /> 
    
      </connectionStrings>
    </configuration>
    

    并验证您是否可以在使用 Sql Server Management Studio(或其他喜欢的 sql 工具)时打开数据库。

    【讨论】:

    • 在 Web.config 中添加了连接字符串。 现在收到此错误“'System.Data.SqlServerCe 类型的异常。 System.Data.SqlServerCe.dll 中发生 SqlCeException' 但未在用户代码中处理"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多