Windows Odbc无dsn连接字符串错误IM002

Windows Odbc无dsn连接字符串错误IM002,windows,oracle,odbc,Windows,Oracle,Odbc,我想在cpp中构建一个应用程序,我的操作系统赢得10分。我已经从微软文档网站下载了驱动程序 用于oracle的Microsoft odbc驱动程序 问题在于连接字符串中的SqlDriverConnection 如果我尝试使用例如以下字符串“driver={Microsoft ODBC for Oracle};uid=name;pwd=passwd;server=//ip:port/aaa”, 抛出2个错误01500和IM002。问题可能与服务器arg有关。所以尝试了这个字符串“DRIVER=M

我想在cpp中构建一个应用程序,我的操作系统赢得10分。我已经从微软文档网站下载了驱动程序

  • 用于oracle的Microsoft odbc驱动程序 问题在于连接字符串中的SqlDriverConnection 如果我尝试使用例如以下字符串
    “driver={Microsoft ODBC for Oracle};uid=name;pwd=passwd;server=//ip:port/aaa”,
    抛出2个错误01500和IM002。问题可能与服务器arg有关。所以尝试了这个字符串
    “DRIVER=Microsoft ODBC for Oracle;UID=name;PWD=passwd;DBQ=(服务器=(描述=(地址=(协议=TCP)(主机=ip)(端口=PORT))(连接数据=(SID=aaa)));”,
第一个错误已修复,但仍有第二个错误IM002。从[microsoft docs][1]中,我知道错误与数据源名称有关。我不想在windows中设置DSN,只想让应用程序在不设置DSN的情况下可移植 我做错了什么,我是公司的新手,从未与甲骨文合作过 多谢各位

注:IP是客户的企业内部网数据库(出于安全考虑)
[1] :

Microsoft ODBC for Oracle驱动程序非常旧,已经有一段时间不受支持了。如果您担心可移植性,它将从未来版本的Windows中删除。您安装应用程序的机器是否保证安装了Oracle客户端?这通常是比DSN更大的可移植性交易。我猜您可能想将Oracle Instant Client与您的应用程序打包好,我已经尝试使用Instant Client,但出现错误ORA-12560:TNS:protocol adapter error您是否验证了侦听器正在指定的机器上为指定的服务运行?该错误通常意味着TNS配置与侦听器设置不匹配。但是我尝试使用sqldeveloper,它工作起来没有问题