连接字符串 - 不支持关键字:'初始目录'

时间:2011-11-16 11:13:11

标签: asp.net .net asp.net-mvc database-connection connection-string

我正在使用Webmatrix.data的Database实体来创建数据库连接,但它不喜欢我的连接字符串。我从MVC ASP.net运行它。

我已经尝试将其更改为服务器/数据库,但仍然存在相同的错误。我哪里错了?

        using (var db = Database.OpenConnectionString(@"Data Source=MY-HP\Serv;Initial Catalog=MyDBSQL;User ID=sa;Password=password"))
        {
            var items = db.Query("SELECT * FROM TaskPriority");
        }

异常详细信息:System.ArgumentException:不支持关键字:'初始目录'。

7 个答案:

答案 0 :(得分:17)

点击此处:Database.OpenConnectionString Method (String, String)

尝试将提供程序名称指定为第二个参数,来自MSDN示例:

var connectionString = "Data Source=.\\SQLExpress;Initial Catalog=SmallBakery;Integrated Security=True";

var providerName = "System.Data.SqlClient";

var db = Database.OpenConnectionString(connectionString, providerName);

答案 1 :(得分:12)

ARRRRHHHHHH !!!!! 这是我第二次碰到这个问题,浪费了几个小时。

错误:

服务器在处理请求时遇到错误。异常消息是不支持关键字:'初始目录; MyDatabase;数据源'。'。请参阅服务器日志以获取更多详异常堆栈跟踪是:

堆栈跟踪:

  

在System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable   parsetable,String connectionString,Boolean buildChain,Hashtable   同义词,布尔值firstKey)at   System.Data.Common.DbConnectionOptions..ctor(String connectionString,   Hashtable的同义词,Boolean useOdbcRules)at   System.Data.SqlClient.SqlConnectionString..ctor(字符串   connectionString)at   System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(字符串   connectionString,DbConnectionOptions上一页)at   System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey   key,DbConnectionPoolGroupOptions poolOptions,DbConnectionOptions&   userConnectionOptions)at   System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey   关键)at   System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)   在System.Data.SqlClient.SqlConnection..ctor(String connectionString,   SqlCredential凭证)

这是我错误的连接字符串:

<add name="Production" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog;MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />

看起来不错?的 WRONG

最终我在这里发现了分号:

  

初始目录; MyDatabase

为了纠正它,我使用了等号:

  

初始目录= MyDatabase

正确的连接字符串:

<add name="ConnString" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog=MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />

答案 2 :(得分:5)

您可以使用以下代码

配置文件:

   <connectionStrings>
   <add name="con" connectionString="Data Source=ServerName;Initial Catalog=master;Integrated Security=SSPI;" providerName="System.Data.SqlClient"></add>
  </connectionStrings>

cshtmlfile:

var db = Database.Open("con");

var selecteddata = db.Query("select * from movie");

答案 3 :(得分:1)

我在IdentityServer快速入门之一中遇到了错误。

必须替换

services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlite(Configuration.GetConnectionString("DefaultConnection")));

使用

services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

使用

Microsoft.EntityFrameworkCore.SqlServer

因为显然我的数据库是Microsoft SQL Server,而不是SQLite。

答案 4 :(得分:1)

您需要检查您的连接字符串。

我收到错误是因为我的连接字符串中有 db(而不是“数据库”)。

 "DevConnection": "server=DEL1-XX-XXXX;db=DonationDb;user=sa;password=XXXX"

更新上述连接字符串(db to Database)应该可以解决问题。下面是工作连接字符串。

 "DevConnection":"server=DEL1-XX-XXXX;Database=DonationDb;user=sa;password=QwerXXXX"

答案 5 :(得分:0)

我建议:

  1. 您可以清楚地检查连接字符串格式,特别是“和”。在我的情况下,这是:

    1. 您可以尝试再次使用EF生成数据库。

答案 6 :(得分:0)

对我来说,由于使用模板化解决方案,因此出现此错误。我不知道该模板仅安装了对sqlite的支持。我必须安装df.pivot_table(index= ??? , columns='ID', values= ??? , aggfunc='mean').round(-3) A1, A2 score1 7.5, 15 score2 75, 150 score3 750, 1500 并将代码中的调用从Microsoft.EntityFrameworkCore.SqlServer更改为UseSqlite