0

私はconnector/ODBCを正常に作成し、次にいくつかのコードを記述しました。

SQLHENV henv;       
SQLHDBC phdbc;      
SQLRETURN retcode; 
retcode = SQLAllocEnv(&henv); 
retcode = SQLAllocConnect(henv,&phdbc);    
if(retcode == SQL_SUCCESS)
{
    char *a="cc_mysql";
    char *b="chen1991";         
    retcode = SQLConnect(phdbc,(SQLCHAR*)a,SQL_NTS,(SQLCHAR*)b,SQL_NTS,(SQLCHAR*)b,SQL_NTS);
             }

しかし、私は接続できませんでした。デバッグしたところ、SQLAllocConnectはtrueを返しましたが、SQLConnectは-1を返しましたが、何が起こったのか理解できません。

4

1 に答える 1

0

What happened is your call to SQLConnect failed and you need to call SQLError to get the error back. I'd just be guessing but may be the DSN cc_mysql does not exist or your username/password are invalid, or mysql does not allow that user to access it etc.

BTW, you should really be writing at least ODBC 3 applications these days and to do that you should be calling SQLAllocHandle, SQLSetEnvAttr (to set ODBC behavior), SQLDriverConnect and SQLGetDiagRec.

于 2012-05-14T07:34:06.243 に答える