不支持关键字用户 ID

keyword user id not supported

我们有一个 windows 基于服务的应用程序,它使用实体 framework.And 连接到数据库,我们使用下面的连接字符串进行访问,它工作正常。突然它抛出异常 "keyword user id not supported"。我通过添加 providerName、删除 provider 等尝试了各种选项,但仍然没有成功。对此的任何指导都会非常有帮助。

连接字符串:

"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=\"Data Source=datasource;Initial Catalog=dbname;MultipleActiveResultSets=True;User ID=userid;Password=password;\" 

注意:如果我尝试从我的本地计算机连接并进行测试,连接似乎不会引发异常。

堆栈跟踪:

12/02 15:12:38.631 SubMessageType parse Exception: ArgumentException:Keyword not supported: 'user id'. 12/02 15:12:39.224 at System.Data.EntityClient.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Hashtable synonyms) at System.Data.EntityClient.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms) at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName).. code reference

更新:添加了导致问题的引号,注意到当我将引号更改为“时。谢谢大家的帮助。

我认为问题可能出在连接字符串中间的转义双引号上。

将它们更改为 ",它应该可以工作:

"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=datasource;Initial Catalog=dbname;MultipleActiveResultSets=True;User ID=userid;Password=password;""