C# 连接字符串中不支持关键字:';数据库';

C# 连接字符串中不支持关键字:';数据库';,c#,sql,sql-server,visual-studio,connection,C#,Sql,Sql Server,Visual Studio,Connection,对于C#和VS2012来说是非常新的 我正在尝试连接到本地数据库连接 这是密码 string selectSql = "select * from Tasks"; string connectionString = "Data Source=adamssqlserver;database=master;Integrated Security=true;"; using (var cn = new SqlCeConnection(connectio

对于C#和VS2012来说是非常新的

我正在尝试连接到本地数据库连接

这是密码

        string selectSql = "select * from Tasks";
        string connectionString = "Data Source=adamssqlserver;database=master;Integrated Security=true;";

        using (var cn = new SqlCeConnection(connectionString))
        using (var cmd = new SqlCeCommand(selectSql, cn))
        {
            cn.Open();

            using (var reader = cmd.ExecuteReader())
            {

                //do something

            }
        }
这里是错误

不支持关键字:“数据库”

如果我先把最初的目录放进去

“数据源=adamssqlserver;初始目录=etc;”

然后,该错误将给出与“初始目录”相同的消息

这是我的数据连接


请尝试服务器,而不是数据源,例如:

string connectionString = "Server=adamssqlserver;Database=master";

您使用的是
SqlCeConnection
而不是
SqlConnection

此类(SqlCeConnection)用于连接字符串的语法规则不同的
SQLCompact Edition
。例如:

Data Source=MyData.sdf;Persist Security Info=False;
相反,您的连接字符串用于
Sql Server
Sql Server Express
。 因此,如果您的目标数据库如标记所示是SQLServerDB,那么您需要使用

using (var cn = new SqlConnection(connectionString))
using (var cmd = new SqlCommand(selectSql, cn))
{
   ....
}

这包含设置连接字符串的良好信息。有太多的选项,我通常必须求助于引用才能正确设置。

提醒一下:使用MS Access数据库时,需要使用OleDbConnection和OleDbCommand,而不是SqlConnection和SqlCommand。”SqlConnection的连接字符串中的“提供程序”AFAIK无效。

是否缺少连接字符串部分中的“提供程序”

应该是

<add name="StevenTestEntities" 
connectionString="metadata=res://*/Model.TestModel.csdl|res://*/Model.TestModel.ssdl|res://*/Model.TestModel.msl;
provider=System.Data.SqlClient;
provider connection string=&quot;Data Source=Data Source=D000097;
Initial Catalog=StevenTest;
Integrated Security=True;MultipleActiveResultSets=True&qout;"
providerName="System.Data.EntityClient" />

在正常的SQL Server连接(
SqlConnection
)中,“CE”连接是否只支持一个数据库/源或其他不可靠的东西,发布的两个语法都可以正常工作。您使用的是哪个版本的SQL Server?您使用的是CE对象,但您的连接字符串似乎是完整的SQL Server。我的盒子上安装了SQL Server 2005、2008和2012。但我相信它使用的是SQL Server 2012,因为我给它的标题是AdamsSQL Server。CE不是f还是完整的SQL Server连接?@adam从未使用过CE(在Microsoft行话中代表“Compact Edition”),但将其切换到
SqlConnection
,然后重试:d就是这样!现在我访问了cn.Open(),然后它戏剧性地失败了。我想我将研究并可能打开一篇新文章,新问题。感谢您的帮助!此-->connectionString=”Server=adamssqlserver;数据库=主机;综合安全=真实;“提供错误消息-->关键字不受支持:'server'。事实上,刚刚阅读了关于您的问题的其他评论,我发现我想您正在使用CE,在这种情况下,数据源是正确的关键字,后跟“Initial Catalog”。谢谢!我现在访问cn.Open();行,该行生成了一条引人注目的错误消息----------------------------------------------------“在建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)