【发布时间】:2012-08-17 10:52:53
【问题描述】:
我正在使用:
- 优势数据库服务器 10
- Advantage.Data.Provider.dll (v.9.10.2.9)
在大多数工作站上一切正常,但今天我们的一位新客户报告说他在使用我们的应用时遇到了问题。日志显示以下阶段异常:
System.ArgumentException:无法识别的属性“用户 ID”在 连接字符串。在 Advantage.Data.Provider.AdsConnectionStringHandler.ParseConnectionString(字符串 strConnect)在 Advantage.Data.Provider.AdsPoolManager.GetConnection(字符串 strConnectionString, AdsInternalConnection& internalConnection, AdsConnectionPool& 池)在 Advantage.Data.Provider.AdsConnection.Open()
只要相同的代码在所有其他客户中运行良好,我想问题可能与运行环境有关,但我仍在尝试找出究竟是什么导致了这个问题。
有什么想法吗?
更新
我刚刚查看了Advantage.Data.Provider.dll的代码,发现他们使用Hashtable来匹配连接字符串属性,而Hashtable的初始化对我来说有点奇怪:
public static Hashtable CreateCaseInsensitiveHashtable()
{
return new Hashtable((IEqualityComparer) StringComparer.CurrentCultureIgnoreCase);
}
我猜StringComparer.CurrentCultureIgnoreCase 在这里可能有问题,但我需要检查一下。
【问题讨论】:
-
你能发布连接字符串吗? (可以没有用户名/密码,以便我们可以看到格式)
-
@FedorHajdu 连接字符串很正常,看起来像:
data source=\\server\db\system-1\maindb.add;servertype=Remote;user id=admin;password=***;TrimTrailingSpaces=true
标签: .net connection-string advantage-database-server