Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server Compact-连接到SDF数据文件_Sql Server - Fatal编程技术网

Sql server SQL Server Compact-连接到SDF数据文件

Sql server SQL Server Compact-连接到SDF数据文件,sql-server,Sql Server,我正在Visual Studio Express 2012中创建web simple CRUD web应用程序库作为学校项目。我的灵感来自这个非常好的教程- 现在,我在连接SQL Server Compact edition.sdf数据文件时遇到问题 在web.config中,我有以下连接字符串: <connectionStrings> <add name="LibraryEntities" connectionString="Data Source=C:\U

我正在Visual Studio Express 2012中创建web simple CRUD web应用程序库作为学校项目。我的灵感来自这个非常好的教程-

现在,我在连接SQL Server Compact edition.sdf数据文件时遇到问题

在web.config中,我有以下连接字符串:

<connectionStrings>
    <add name="LibraryEntities"
     connectionString="Data Source=C:\Users\Administrator\Documents\Visual Studio 2012\Projects\2OBOP3_KU1\R10491\App_Data\R10491_library.sdf;"
     providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>
我创建了用于数据库连接测试的简单ASPX文件:

<script runat="server">
  protected void Page_Load(object sender, EventArgs e)
  {
      using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["LibraryEntities"].ToString()))
      {
          SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM Writers", cn);
          cn.Open();
          SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
          rdr.Read();
          Response.Write(rdr[0].ToString()); //read a value
      }
  }
</script>
运行应用程序时,它会引发异常:

异常详细信息:System.Data.SqlClient.SqlException:A 建立时发生与网络相关或特定于实例的错误 与SQL Server的连接。找不到服务器或服务器不可用 可到达的验证实例名称是否正确,以及SQL 服务器配置为允许远程连接。提供者:SQL 网络接口,错误:26-定位服务器/实例时出错 指定的

但当我尝试连接到解决方案资源管理器旁边的“数据库资源管理器”菜单的“数据库资源管理器”选项卡中的.sdf文件时,我成功连接


所以我假设连接字符串中应该有问题-不是吗?谢谢您的建议。

您连接的是SQL Server Compact,而不是SQL Server

您应该使用SqlCeConnection而不是SqlConnection


此外,您还需要有对system.data.sqlserverce.dll的引用,因为您连接的是SQL Server Compact,而不是SQL Server

您应该使用SqlCeConnection而不是SqlConnection

您还需要有对system.data.sqlserverce.dll的引用

  using System.Data.SqlServerCe;

  protected void Page_Load(object sender, EventArgs e)
  {
      using (SqlCeConnection cn = new SqlCeConnection(ConfigurationManager.ConnectionStrings["LibraryEntities"].ToString()))
      {
          SqlCeCommand cmd = new SqlCeCommand("SELECT COUNT(*) FROM Writers", cn);
          cn.Open();
          SqlCeDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
          rdr.Read();
          Response.Write(rdr[0].ToString()); //read a value
      }
  }