跪求C/C++编程调用mysql的大神,编程实现.sql文件的导入 50
不是采用在命令行上执行mysql-uusername-ppassword实现,而是通过C/C++调用相应的接口来实现.sql文件的导入,当然第三方库也可以。如果是自己解析...
不是采用在命令行上执行mysql -uusername -ppassword实现,而是通过C/C++调用相应的接口来实现.sql文件的导入,当然第三方库也可以。如果是自己解析.sql文件,这个我知道。
展开
3个回答
展开全部
如果确定SQL文件是正确的:
方法一: 直接用system调用 mysql命令导入,前提要装有mysql的客户端;
方法二:如文件不是很大,直接读到一个字符串内,用mysql的接口,直接执行它;
方法二的伪代码:
MYSQL * conn = mysql_init(NULL);
mysql_real_connect(conn, host,user,passwd,dbname,port,NULL,CLIENT_MULTI_STATEMENTS);
mysql_query(conn, "set names SQL文件的编码");
mysql_query(conn, SQL语句);
mysql_close(conn);
注意,执行前最好用 “set names”设置一下你的文件的编码,如果 gbk,则 “set names gbk;"
方法一: 直接用system调用 mysql命令导入,前提要装有mysql的客户端;
方法二:如文件不是很大,直接读到一个字符串内,用mysql的接口,直接执行它;
方法二的伪代码:
MYSQL * conn = mysql_init(NULL);
mysql_real_connect(conn, host,user,passwd,dbname,port,NULL,CLIENT_MULTI_STATEMENTS);
mysql_query(conn, "set names SQL文件的编码");
mysql_query(conn, SQL语句);
mysql_close(conn);
注意,执行前最好用 “set names”设置一下你的文件的编码,如果 gbk,则 “set names gbk;"
追问
方法一我知道,但不能用,方法二嘛,可以使可以,但不可取,之前我也想过这样做。如果实在没法,只有自己解析了
追答
您能说一下为啥不可取吗?
展开全部
.sql本身就是规范的SQL语句了啊,直接执行一行一行的读出来,使用mysql_query去执行应该就可以了吧。
追问
有些语句不是按行来划分的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以通过MySQL自己的API函数进行连接,下载源码,看看接口说明。
更多追问追答
追问
你这是忽悠我把,我知道API函数啊,里面没有啊,亲,当然你看到了可以说说一下
追答
z901dyxz 把API的调用步骤说的挺清楚,mysql_query(conn, SQL语句);就是把.sql语句执行起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询