使用工具->连接到数据库...添加了本机的mysql下的一个数据库,测试连接成功,但是下面的代码总是输出“failure"
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <string.h>
#include <stdio.h>
#include <sqltypes.h>#define LNAME_LEN 41
#define FNAME_LEN 21
#define MAX  200
const char* dbname="library";
int main()
{
SQLHENV henv;  
SQLHDBC hdbc;
SQLHSTMT hstmt;
RETCODE retcode;
RETCODE ret; SQLAllocEnv(&henv);             //分配环境句柄
SQLAllocConnect(henv,&hdbc);    //分配连接句柄
ret=SQLConnect(hdbc,( SQLWCHAR *) dbname,SQL_NTS,  //连接数据源
TEXT("root"),SQL_NTS,TEXT("7585524"),SQL_NTS); 
if(ret==SQL_SUCCESS) 
printf("link successful\n");
else 
{
printf("failure\n");
return 0;
}    SQLFreeStmt(hstmt,SQL_DROP); 
SQLDisconnect(hdbc);
SQLFreeConnect(hdbc);
SQLFreeEnv(henv);
return 0;
}

解决方案 »

  1.   

    是不是账号密码不对啊?到MYSQL的错误日志中检查一下,看看有没有什么信息。
      

  2.   

    问下那个数据源名应该写什么的呀……
    我直接用管理工具登陆mysql的时候,登陆界面上只有”server host""username""password" 然后想连接到里面的"library"数据库
      

  3.   

    那在本机的就是"localhost"的咯?  ……但是改为这个之后还是错,用户名和密码都米错……求问哪里看mysql的错误日志……
      

  4.   

    mysql的错误日志……datadir 所对应的目录下,有个 *.err 文件。
      

  5.   

    可是我找不到那个文件诶……连datadir都找不到……
    也找不到我的数据文件