我希望简短而清晰。我在使用Crystal Reports时连接到ODBC没有任何问题,并且之前在VS中使用了以下设置来创建应用程序并且它运行良好。但是,现在我在调用con.Open()时收到以下异常。 我想知道我是如何解决这个问题的。谢谢!
{“ERROR [S1000] [缓存ODBC] [状态:S1000] [本机代码 417] \ r \ n [C:\ Program Files(x86)\ IIS Express \ iisexpress.exe] \ r \ n访问被拒绝\ r \ nERROR [01000] [Microsoft] [ODBC驱动程序管理器]驱动程序不支持 应用程序请求的ODBC行为的版本(请参阅 SQLSetEnvAttr)。“}
我的连接字符串和方法如下所示:
<connectionStrings>
<remove name="AvatarDBPM"/>
<remove name="AvatarDBCWS"/>
<add name="AvatarDBPM" connectionString="DRIVER={InterSystems ODBC};SERVER=0.0.0.0;PORT=4972;DATABASE=AVPM4972127001;UID=SYSTEMCODE:UN;PWD=MyPsswd;"/>
public DataAccess(string from_date, string to_date)
{
this.from_date = from_date;
this.to_date = to_date;
LOSList = new List<LOS_View_Definition>();
this.PMConnectionString = ConfigurationManager.ConnectionStrings["AvatarDBPM"].ConnectionString;
}
public List<LOS_View_Definition> GetLOSList()
{
#region Command
var command = "my query here";
#endregion
#region get value from DB
try
{
using (OdbcConnection con = new OdbcConnection(PMConnectionString))
{
con.Open();
答案 0 :(得分:1)
尝试其他驱动程序。 Cache中安装了4个ODBC驱动程序:
ODBC版本:2.5,3.5
比特度:32,64
另外,你确定,PORT不是1972年吗?
此外,您可以提供AUTHENTICATION METHOD=0
参数。
答案 1 :(得分:0)
我认为您应该使用符合所请求的ODBC规范的ODBC驱动程序版本。如果您使用的是64位系统,则还应该使用64位ODBC驱动程序。如果安装的驱动程序版本与您用于编译的系统不匹配,则会发生此错误。