2012-09-24 86 views
0

我正在使用ODBC API连接到数据库。我已经使我的连接功能一切正常,直到我到SQLDriverConnect。ODBC 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

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