从Web页面访问数据库时出错

时间:2016-08-01 05:00:57

标签: sql asp.net entity-framework razor

我正在尝试从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行给出错误。

2 个答案:

答案 0 :(得分:0)

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

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

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

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

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

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

答案 1 :(得分:0)

错误消息显示全部 - 无法打开数据库 - 这可能由于错误的连接字符串或网络/数据库配置而发生。要进行故障排除,请尝试在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工具)时是否可以打开数据库。