簡體   English   中英

連接字符串中不支持關鍵字:“數據庫”

[英]Keyword not supported in Connection String: 'database'

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;”

然后,該錯誤給出了相同的消息,只是“初始目錄”。

這是我的數據連接

在此處輸入圖片說明

您正在使用SqlCeConnection而不是SqlConnection

此類(SqlCeConnection)用於Sql Compact Edition ,其中連接字符串的語法規則不同。 例如:

Data Source=MyData.sdf;Persist Security Info=False;

相反,您的連接字符串用於Sql ServerSql Server Express 因此,如果您的目標數據庫是SqlServer數據庫(如標簽所示),則您需要使用

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

嘗試使用Server代替Data Source,例如:

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

網站包含有關設置連接字符串的良好信息。 我通常必須參考很多選項才能正確設置它。

提醒一下:使用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" />

試試看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM