jms 驱动程序:由Xiaokun Kelvin ZHU的开发的一个改进的gwe驱动程序。
twz 驱动程序:由Terrence W. Zellers 开发的一个type 4 JDBC驱动程序并用于学习目的。
mm 驱动程序:由Mark Matthews 开发的一个type 4 JDBC驱动程序。
推荐的驱动程序是twz或mm驱动程序。两者均被报导工作出色。我们知道mSQL有一个 JDBC 驱动程序,但是我们对它有太少的经验不能进行比较。
开发速度 MySQL有一个非常小的开发者队伍,但是我们是非常习惯于用C和C++编码,非常快速。因为线程、函数、GROUP BY等在mSQL中仍未实现,它有很多追赶工作要做。要想得到关于它的一些前景,你可以查看mSQL最后一年的 “HISTIRY”文件,并将它与MySQL参考书手册的新功能小节比较(见D MySQL变迁历史)。哪个快开发得最快应该是相当明显的。
实用程序 mSQL和MySQL都有许多有趣的第三方工具。因为向上移植(从mSQL到MySQL)是很容易的,几乎所有mSQL可用的有趣的应用程序也可被MySQL使用。MySQL带有一个简单的msql2
mysql程序修正在mSQL和MySQL使用的大多数C API函数之间拼写差别。例如,它将msqlConnect()实例改变为
mysql_connect()。变换一个客户程序从mSQL到MySQL通常花几分钟时间。
21.1.1 怎样将mSQL的工具转换到MySQL
根据我们的经验,转换诸如使用mSQL C API的msql-tcl和msqljava工具将只花不大一小时时间,使得他们用MySQL C API工作。
转换过程是: 在源代码上运行外壳脚本msql2
mysql。这需要replace程序,它与MySQL一起散发。
编译。
修正所有编译器错误。
mSQL C API与MySQL C API 之间差别是:
MySQL使用一个MYSQL结构作为一种连接类型(mSQL使用一个int)。
mysql_connect()取一个指向一个MYSQL结构的指针作为一个参数。很容易定义全局性定义一个或使用malloc()获得一个。
mysql_connect()也取两个参数指定用户和口令。你可以为了缺省使用将这些设置为NULL,NULL。
mysql_error()取MYSQL结构作为一个参数。如果你正在移植老的代码,只是把参数加到你的老的msql_error()编码中。
MySQL对所有错误返回一个错误号和一条文本错误消息。mSQL仅返回一条文字错误消息。
存在某些不兼容性,因为MySQL支持从同一个
进程的到服务器多个连接。
mSQL和MySQL的客户机/服务器通讯协议有何不同
有足够的差别使得不可能(或至少不容易)支持两者。
它MySQL协议不同于mSQL协议的最重要的方面列在下面:
一个消息缓冲区可以包含很多结果行。
如果查询或结果比当前缓冲区大,消息缓冲区动态地被扩大,直到一个可配置的服务器和客户上限。
所有的包被编号以捕捉重复或丢失的包。
所有的列值以ASCII码发送。列和行的长度以紧凑的二进制编码(1、2或3个字节)发送。
MySQL能在未缓冲得结果中读取(不必在客户端存储完整的集合)。
如果一个单独写/读花了超过30秒时间,服务器关闭连接。
如果一个连接空闲8个小时,服务器关闭连接。
mSQL 2.0的SQL句法与MySQL有何不同
列类型
MySQL 有下列额外的类型(比较其他的;见7.7 CREATE TABLE句法): 、
对于一个字符串集中之一的ENUM类型。
对于一个字符串集中多个的SET类型。
对于64位整数的BIGINT类型。
MySQL也支持下列额外的类型属性:
UNSIGNED选项。
对于整数列的ZEROFILL选项。
对于是一个PRIMARY KEY的整数列的AUTO_INCREMENT选项。见20.4.29
mysql_insert_id()。
对所有列的DEFAULT值。
mSQL2 mSQL列类型对应于MySQL类型显示在下面:mSQL类型 相应的MySQL类型
CHAR(len) CHAR(len)

发表评论