vs2008下用odbc连接mysql失败

feisure 2010-04-05 12:16:42
使用工具->连接到数据库...添加了本机的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;
}

...全文
262 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiahehao 2010-04-06
  • 打赏
  • 举报
回复
“问下那个数据源名应该写什么的呀……”

估计你还不知道啥叫“数据源”。数据源要到系统的控制面板->管理工具->数据源里去新建一个的。然后你就知道名字了。呵呵。
feisure 2010-04-06
  • 打赏
  • 举报
回复
可是我找不到那个文件诶……连datadir都找不到……
也找不到我的数据文件
ACMAIN_CHM 2010-04-05
  • 打赏
  • 举报
回复
问下那个数据源名应该写什么的呀……

数据库所在的机器名或者IP
feisure 2010-04-05
  • 打赏
  • 举报
回复
问下那个数据源名应该写什么的呀……
我直接用管理工具登陆mysql的时候,登陆界面上只有”server host""username""password" 然后想连接到里面的"library"数据库
ACMAIN_CHM 2010-04-05
  • 打赏
  • 举报
回复
是不是账号密码不对啊?

到MYSQL的错误日志中检查一下,看看有没有什么信息。
ACMAIN_CHM 2010-04-05
  • 打赏
  • 举报
回复
mysql的错误日志……

datadir 所对应的目录下,有个 *.err 文件。
feisure 2010-04-05
  • 打赏
  • 举报
回复
那在本机的就是"localhost"的咯? ……但是改为这个之后还是错,用户名和密码都米错……求问哪里看mysql的错误日志……

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧