【发布时间】:2017-04-21 15:21:17
【问题描述】:
我们有一个基于 Windows 服务的应用程序,它使用实体框架连接到数据库。我们使用下面的连接字符串进行访问,效果很好。突然它抛出异常“不支持关键字用户ID”。我通过添加提供者名称、删除提供者等尝试了各种选项,但仍然没有运气。任何有关这方面的指导都会非常有帮助。
连接字符串:
"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 解析异常:ArgumentException:不支持关键字:“用户 ID”。 12/02 15:12:39.224 在 System.Data.EntityClient.DbConnectionOptions.ParseInternal(哈希表可解析表,字符串连接字符串,哈希表同义词) 在 System.Data.EntityClient.DbConnectionOptions..ctor(字符串连接字符串,哈希表同义词) 在 System.Data.EntityClient.EntityConnection.ChangeConnectionString(字符串 newConnectionString) 在 System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName).. 代码参考
更新:添加了导致问题的额外引号,注意到当我将引号更改为“时。谢谢大家的帮助。
【问题讨论】:
-
你能edit 并包含完整的堆栈跟踪吗?
-
@DavidG 应该是“让我开始为您编辑问题”之类的链接;P
-
@MatíasFidemraizer 不幸的是,这正是
[edit]自动链接给我们的! -
@DavidG 不,我的意思是它会像 LMGTFY 这样的东西会很棒
-
请勿在标题中添加“已解决” 您通过接受下面的答案来标记答案已解决。
标签: c# entity-framework windows-services