ODBC SQLDriverConnect无法连接

时间:2012-09-24 14:37:53

标签: c++ oracle odbc database-connection connection-string

我在c ++中使用ODBC API连接数据库。我已经使我的连接功能一切正常,直到我得到SQLDriverConnect。

 _TUCHAR szConnectOutput[3000];
         SWORD nResult;

         retcode = SQLDriverConnect(hdbc, NULL,
                    (SQLTCHAR *)szDNS, SQL_NTS,szConnectOutput, 3000,
                    &nResult, SQL_DRIVER_NOPROMPT);

         if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)

retcode返回-1。我不确定问题是什么,可能是我的DSN格式错误。 我的DNS是DSN =“DSN = Messe10_2; Uid = test; Pwd = test”;我尝试连接的数据库是一个Oracle数据库。我的DSN格式错了吗?或者我还有其他问题吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

失败可能有很多原因 - 您是否通过ODBC管理员测试了DSN。在失败时调用SQLGetDiagRec,你会发现原因。有关C中的示例,请参阅ODBC Diagnostics & Error Status Codes。鉴于您提供的信息,我看不到任何明显错误,例如,“DSN = x; UID = y; PWD = z”是有效的连接字符串。