无法连接到本地数据库

罗恩·范德·海登

我正在使用C#和本地数据库(An empty SQL Server Compact Edition database for local data

但是我无法连接到数据库并获取数据。

这是我尝试的方法:

// Properties.Settings.Default.DatabaseConnectionString = Data Source=|DataDirectory|\Database.sdf
// I guess Visual Studio put it there after I created my database...

using(SqlConnection sqlConnection = new SqlConnection(Properties.Settings.Default.DatabaseConnectionString)) {
    using(SqlCommand sqlCommand = new SqlCommand("SELECT * FROM users WHERE id = @id", sqlConnection)) {
        sqlCommand.CommandType = CommandType.StoredProcedure;
        sqlCommand.Parameters.AddWithValue("@id", 1);
        try {
            sqlConnection.Open();
            SqlDataReader reader = sqlCommand.ExecuteReader(CommandBehavior.SingleRow);
            if(reader.Read()) {
                System.Console.WriteLine(reader);
                System.Console.WriteLine(reader["id"]);
                System.Console.WriteLine(reader["name"]);
            }
        }
        catch(Exception e) {
            System.Console.WriteLine(e.GetBaseException());
        }
        finally {
            sqlConnection.Close();
        }
    }
}

我的整个程序挂了一段时间,暂停后我收到以下消息:

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

克里斯

我正在使用C#和本地数据库(用于本地数据的空SQL Server Compact Edition数据库)

您使用的是Sql Server Compact文件,而不是Sql Server Local DB

要处理Sql Server Compact,您需要使用System.Data.SqlServerCe名称空间,而不是System.Data.SqlServer

替换SqlConnectionSqlCommand...

随着SqlceConnectionSqlCeCommand...


并且Sql Server Compact不支持存储过程如何在SqlCE中使用存储过程),因此sqlCeCommand.CommandType不能CommandType.StoredProcedure

您需要将commandType.Text与命令参数一起使用。

using(SqlCeConnection sqlCeConnection = new SqlCeConnection(Properties.Settings.Default.DatabaseConnectionString)) {
    using(SqlCeCommand sqlCeCommand = new SqlCeCommand("SELECT * FROM users WHERE id = @id", sqlCeConnection)) {
        sqlCeCommand.CommandType = CommandType.Text;
        sqlCeCommand.Parameters.AddWithValue("@id", 1);
        try {
            sqlCeConnection.Open();
            SqlCeDataReader reader = sqlCeCommand.ExecuteReader(CommandBehavior.SingleRow);
            if(reader.Read()) {
                System.Console.WriteLine(reader);
                System.Console.WriteLine(reader["id"]);
                System.Console.WriteLine(reader["name"]);
            }
        }
        catch(Exception e) {
            System.Console.WriteLine(e.GetBaseException());
        }
        finally {
            sqlCeConnection.Close();
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#无法连接到本地SQL数据库

来自分类Dev

使用连接字符串时无法连接到本地数据库

来自分类Dev

pyodbc无法连接到数据库

来自分类Dev

无法连接到redshift数据库

来自分类Dev

无法连接到数据库[默认]

来自分类Dev

无法连接到数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

Telosys无法连接到数据库

来自分类Dev

无法远程连接到数据库

来自分类Dev

我无法连接到数据库

来自分类Dev

无法连接到数据库?

来自分类Dev

MythTV无法连接到数据库

来自分类Dev

无法连接到数据库-MySQL

来自分类Dev

无法连接到 PostgreSQL 数据库

来自分类Dev

Java无法连接到数据库

来自分类Dev

无法在IIS中本地打开.asp网站(该网站将无法连接到数据库)

来自分类Dev

SQL Server 2008 R2无法连接到Management Studio中的本地数据库

来自分类Dev

使用Tedious和Node JS无法连接到本地SQL Server数据库

来自分类Dev

无法使用Sequelize从本地节点应用程序连接到Heroku Postgresql数据库

来自分类Dev

无法使用Monetdb.R连接到本地数据库

来自分类Dev

SQL Server 2014-无法连接到本地数据库-找不到服务器

来自分类Dev

SQL Server 2008 R2无法连接到Management Studio中的本地数据库

来自分类Dev

无法连接到我的本地主机上的数据库

来自分类Dev

无法通过命令行连接到本地主机MySQL数据库?

来自分类Dev

Java 无法连接到本地主机上的 MariaDB 数据库

来自分类Dev

本地服务器无法使用PHP连接到远程Postgresql数据库,但是本地终端可以连接

来自分类Dev

NodeJS-连接到本地Mysql数据库

来自分类Dev

如何连接到本地MySQL数据库

来自分类Dev

将容器连接到本地数据库

Related 相关文章

热门标签

归档