ArgumentException:连接字符串中无法识别的属性“用户ID”

时间:2012-08-17 10:52:53

标签: .net connection-string advantage-database-server

我正在使用:

  • Advantage Database Server 10
  • Advantage.Data.Provider.dll(v.9.10.2.9)

大多数工作站上的一切都很稳定,但今天我们的一位新客户报告说他遇到了我们的应用程序的麻烦。日志显示以下存储异常:

  

System.ArgumentException:无法识别的属性“用户ID”   连接字符串。在   Advantage.Data.Provider.AdsConnectionStringHandler.ParseConnectionString(字符串   strConnect)at   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可能会遇到麻烦,但我需要检查一下。

1 个答案:

答案 0 :(得分:3)

在客户端的版本9.10.0.21及更高版本中已修复此问题。来自page with the download link

  

2 - 修复了Advantage .NET数据提供程序中的一个错误,该错误导致某些语言环境无法正确解析连接字符串(特别是tr-TR)。