在Delphi 7中用dbexpress连接MySQL
环境:
OS:Windows 2000 Server
DBMS : MySQL 4.0.20
Client : Delphi 7/dbexpress
准备:
由于在Delphi 7中并没有提供对应MySQL4.0以上版本的dbexpress驱动(虽然在Borland的CodeCentral中有相关的驱动下载,但我却使用不了,不知道是否是我的方法不对),所以在使用前先下载MySQL 3.23.x的驱动libmysql.dll,下载后的libmysql.dll请放在Delphi安装目录的bin文件夹或者系统目录下或您的程序的目录中,否则dbexpress将无法找到它(出现错误提示:not load "libmysql.dll")。另外,如果libmysql.dll的版本不对会出现"invalid username/password"的错误提示。
TSQLConnection连接参数设置:
DriverName: MySQL
Host:本地:localhost;安装MySQL的计算机名/IP地地址
远程:安装MySQL的计算机名/IP地地址
Database:数据库名
UserName:MySQL用户名
Password:MySQL用户密码
LoginPrompt:false //不出现登录对话框
在使用前需要确定用户名和用户密码在MySQL中对于对应的数据库是否合法、有效。
数据组件:
推荐使用TSQLDataSet+TDataSetProvider+TclientDataSet+TdataSource+Data Control;
或TSimpleDataSet+TdataSource+Data Control。
注意:不能使用TSQLDataSet+TdataSource+Data Control,否则在使用某些数据感知组件时会出现“operation not allowed on a unidirectional dataset”的错误提示,因为TSQLDataSet是单向的。
如果使用TSQLTable来使用数据有可能无法在TableName中列出所有的表名来。TSQLQuery和TSQLTable还是少用为妙。
delphi7官方dbexpress驱动只能连接mysql4及以前的版本,要连接mysql5,到http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html下载dbxopenmysql50.dll,然后在dbxdrivers.ini和dbxconnections.ini配置文件中增加mysql5的相关设置:
[MySQL5]
GetDriverFunc=getSQLDriverMYSQL50
LibraryName=dbxopenmysql50.dll
VendorLib=libmysql.dll
HostName=ServerName
Database=DBNAME
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/611609/viewspace-683887/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/611609/viewspace-683887/