摘要:
VS2010 和 MySQL连接中遇到了一些问题,现在进行总结。
1. MySQL command line client闪退问题。
原因分析,右键属性按钮,找到目标框,可以发现
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe" "--defaults-file=C:\Program Files\MySQL\MySQL Server 5.6\my.ini" "-uroot" "-p" "--default-character-set=utf8"
而在该目录下,并没有my.ini这个文件。可知这是由于配置缺失所造成的,于是将同目录下的my-default.ini复制,并重命名。重新启动,问题得到解决。
2. vs2010 编译时候遇到的问题:
采用了参考文献1中的代码
#include "stdafx.h"
#include <WinSock2.h>
#include <windows.h>
#include <stdio.h>
#include <mysql.h>
int main()
{
MYSQL *conn;
char *server = "localhost";
char *user = "root";
char *password = "******";//“******”为你设置的密码
char *database = "mysql";
conn = mysql_init(NULL);
if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
printf("连接失败:%s\n", mysql_error(conn));
else
printf("连接成功!");
getchar();
return 0;
}
(1)找不到main函数,这是由于subsystem的设置问题。(插一句,新建工程时候选的是win32 console,而在2010里还有CLR console,二者的区别是CLR是在运行时候进行编译的(与.net平台相关),而win32是静态编译好的)。解决该问题是在工程==》属性==》Link==》Subsystem,将其设置为not Set
(2)蛋疼的2019 , mysql_connect 等mysql提供的函数未能发现的问题。
这里首先是要在inclue和LIB增加相应目录,仍然提示不成功。
最后参考了参考文献2中,发现这是由于架构不同所导致的,更改架构后成功(项目==》属性==》 configuration manager==》更改为x64架构)。具体如图所示:
这样问题得到解决……
还有两个问题:
1. mysql connector到底用来干啥?
2. #pragma的用处(可以参考文献http://blog.csdn.net/sding/article/details/4709370)
参考文献:
[1] http://blog.sina.com.cn/s/blog_629a38b001010m5j.html
[2] http://www.verydemo.com/demo_c152_i50467.html