跪求CC++编程调用mysql的大神,编程实现.sql文件的导入

跪求CC++编程调用mysql的大神,编程实现.sql文件的导入,第1张

如果确定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"

php是编程语言,也是

脚本语言

,二者不冲突

能否调用数据库与编程语言无关,只要提供了调用的接口,无论什么语言都可以调用

Javascript

也可调用mysql的(通过nodejs),php也是通过mysql扩展调用数据库

老大,原来你连 C 的原理都不会啊?

C 语言所有调用函数,都要有声明,这种外部函数库的调用,都要用他们的 header 文件来声明函数变量等等的东西,编译器会根据实际情况去把这些程序里面的函数调用链接到函数库的正确位置上。

微软的产品因为他垄断了他自己系统的所有功能设计。所以他的系统+他的开发程序+他的开发函数库就不需要 header 文件了,因为它可以设计为 dll 本身含有足够的信息去干别的事情了。所以,你别以为你用了微软的 .net ,他就还是 C 语言了。他已经脱离了 C 语言的范围了。

GCC一般情况下是编译器,但编译器是不够的,还需要连接器的工作才行。binutils 里面的软件提供相关的功能。

要知道以前链接到函数库功能,光有 header 和函数库文件本体还是不行的,还需要另外的函数库信息文件来帮助编译器连接器来找到正确的函数入口位置才行的。

你编程 C ,你要选择你所使用的功能调用方法,GCC 一般调用 mysql 有调用外部 dll ,或者程序自己直接链接 mysql 端口,自己分析 mysql 服务进程发送的各种信息!

前一种办法,可以直接选择 mysql 客户端里面的 SDK 来直接获得官方的功能支持,但官方 MySQL 是 GPL 协议发布的,你使用他的功能接口后,你的程序也必须以 GPL 发布,不然你就要去选择其他的函数库,比如 ODBC 的 mysql 库。当然还有第三方的 mysql 功能库可以选择。

不过你要注意,LGPL 必须严格区分你的程序和 LGPL 代码。你必须动态链接到 LGPL 函数库。如果你的程序包含 LGPL 函数库一起发布,且 LGPL 库是你的软件的必备函数库,那么你的程序也必须开源,但不是 GPL 而是 LGPL !

不然你就选择自己写程序直接与 mysql 服务器进行数据传输,不使用第三方功能库。

但我不认为身为一个 Linux 下程序开发人员,会去傻傻的自己写功能函数而不是用现成的函数库。

你所遇到的“非要客户安装 mysql client ”,就是因为你的软件调用了一些非你自己编写的函数调用功能,而为了获取这些函数而需要安装几个 mysql 函数库的问题。

这个问题我想不应该是一个开发人员提出来的吧?

------------------------------------

楼主你还是重新学习 C 语言吧。.net 的 C 被微软改的不是真正的 C 语言了,所以你没办法按照 C 的标准去比较 .net 和 GCC 的。

而且很多 .net 的编程习惯也没办法延续到 GCC 的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5896539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存