在Visual Studio中打开ODBC数据库连接时出错

本文关键字:ODBC 数据库连接 出错 Visual Studio | 更新日期: 2023-09-27 17:58:51

我希望这篇文章足够简短明了。在使用Crystal Reports时,我连接到ODBC没有任何问题,并且以前在VS中使用过以下设置来创建应用程序,它运行得很好。然而,现在当我调用con.Open()时,我收到了下面的异常;我想知道如何解决这个问题。谢谢

{"错误[S100][Cache ODBC][State:S100][Native Code417]''r''n[C:''Program Files(x86)''IISExpress''iisexpress.exe]''r''n访问被拒绝''r''n错误[0100][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();

在Visual Studio中打开ODBC数据库连接时出错

尝试其他驱动程序。有4个ODBC驱动程序与Cache一起安装:

ODBC版本:2.5、3.5

Bitness:32,64

此外,你确定吗,港口不是1972年?此外,您可以提供AUTHENTICATION METHOD=0参数。

我认为您应该使用符合所请求ODBC规范的ODBC驱动程序版本。如果您使用的是64位系统,那么您也应该使用64位ODBC驱动程序。当安装的驱动程序版本与用于编译的系统不匹配时,就会发生此错误。