我成功地创建了连接器/ 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,我无法理解发生了什么。
答案 0 :(得分:0)
发生的事情是您对SQLConnect的调用失败,您需要调用SQLError来恢复错误。我只是猜测,但可能是DSN cc_mysql不存在或者您的用户名/密码无效,或者mysql不允许该用户访问它等。
BTW,你现在应该至少编写ODBC 3应用程序,为此你应该调用SQLAllocHandle,SQLSetEnvAttr(设置ODBC行为),SQLDriverConnect和SQLGetDiagRec。