连接字符串 - 不支持关键字:'初始目录'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了连接字符串 - 不支持关键字:'初始目录'相关的知识,希望对你有一定的参考价值。
我使用Webmatrix.data的数据库实体来创建数据库连接,但它不喜欢我的连接字符串。我从MVC ASP.net运行它。
我已经尝试将其更改为服务器/数据库,但仍然是错误相同。我哪里错了?
using (var db = Database.OpenConnectionString(@"Data Source=MY-HPServ;Initial Catalog=MyDBSQL;User ID=sa;Password=password"))
{
var items = db.Query("SELECT * FROM TaskPriority");
}
异常详细信息:System.ArgumentException:不支持关键字:'initial catalog'。
点击这里: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);
ARRRRHHHHHH !!!!!这是我第二次碰到这个问题,浪费了几个小时。
错误:
服务器遇到处理请求的错误。异常消息是“不支持关键字:”初始目录; MyDatabase;数据源'。'。请参阅服务器日志以获取更多详异常堆栈跟踪是:
堆栈跟踪:
在系统上的System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable,String connectionString,Boolean buildChain,Hashtable synonyms,Boolean firstKey)中的System.Data.Common.DbConnectionOptions..ctor(String connectionString,Hashtable synonyms,Boolean useOdbcRules)。位于System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString,DbConnectionOptions previous)的System.SData.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey键,DbConnectionPoolGroupOptions池选项,DbConnectionOptions和userConnectionOptions)中的Data.SqlClient.SqlConnectionString..ctor(String connectionString)at at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)System.Data.SqlClient.SqlConnection..ctor(String connectionString,SqlCredential credential)中的System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey键)
这是我错误的连接字符串:
<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" />
看起来不错?错误
最后我在这里发现了分号:
初始目录; 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" />
您可以使用以下代码
配置文件:
<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");
我建议:
- 您可以清楚地检查连接字符串格式,特别是“和”。在我的情况下,这是:
- 您可以尝试再次通过EF生成db。
对我来说,我收到了这个错误,因为我使用的是模板解决方案。我不知道模板只安装了对sqlite的支持。我必须安装Microsoft.EntityFrameworkCore.SqlServer
并将我的代码中的调用从UseSqlite
更改为UseSqlServer
。
以上是关于连接字符串 - 不支持关键字:'初始目录'的主要内容,如果未能解决你的问题,请参考以下文章