我好像在兜圈子,从来没有把这件事做完。我找到了一个安装的mySQL 5.1 32位,我制作了一个模式和表,我还找到了我安装的ODBC5.1连接器。找到dll与开始按钮编辑器- libmysql.dll dbexpmysql.dll dbxopenmysql50.dll myodbc5w.dll启动Delphi7和DB快速连接器上的形式Prams主机名-本地主机。
数据库-站点。用户名-根。密码-管理员。rest是默认的,我尝试过以上所有Dll的错误-无法loadlibmysql.dll或我在LibaryName中选择的Dll。这是一台干净的电脑--基本上,我做错了什么?我检查了我的婴儿车,记得我把MySQL设置为localhost -- 3306在我的设置中是在google是国际空间站的起始页面--这是一台独立的计算机,我是否遗漏了一个更新,在哪里以及从哪里得到它。我看过我的另一台计算机上的其他数据库,比如NoMySQL,oracle,但是它们不容易安装在我凌乱的计算机上,作为一个独立的DB。
发布于 2016-06-07 13:18:45
你可能想看看我对这个问题的回答:
how to connect to a MySQL server
这是关于让MySql与D7和XE5 5/6协同工作。在我编写它的时候,我在让MySql使用这些Delphi版本时遇到了问题。结果发现,主要的问题是我使用的是最近版本的MySql Dll。我最终让它起作用了,但花了我几天时间,这就是为什么我决定为后代记录确切的方法。
如果您按照答案中的确切编号步骤,我认为您很有可能最终得到一个至少有机会与MySql一起工作的D7设置(特别要注意的是,我不得不从MySql网站的Archive部分挖出一些东西)。
更新
下面是我的dbxDrivers.Ini & dbxConnections.Ini和Delphi项目的一些摘录
dbxDrivers.Ini
[Installed Drivers]
DB2=1
Interbase=1
MySQL=1
Oracle=1
Informix=1
MSSQL=1
OpenMySQL50=1
[OpenMySQL50]
LibraryName=dbxopenmysql50.dll
GetDriverFunc=getSQLDriverMYSQL50
VendorLib=libmysql.dll
HostName=localhost
DataBase=MATestDB
User_Name=SA
Password=password
[...]dbxConnections.Ini
[OpenMySQL50Connection]
DriverName=OpenMySQL50
HostName=LocalHost
Database=MATestDB
User_Name=sa
Password=password
BlobSize=-1代码
type
TForm1 = class(TForm)
SQLConnection1: TSQLConnection;
SQLQuery1: TSQLQuery;
DataSetProvider1: TDataSetProvider;
SQLQuery1Table1ID: TIntegerField;
SQLQuery1AName: TStringField;
SQLQuery1AValue: TStringField;
CDS1: TClientDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
procedure FormCreate(Sender: TObject);
private
procedure OpenConnection;
public
end;
[...]
procedure TForm1.OpenConnection;
begin
SqlConnection1.DriverName := 'OpenMySql50';
SqlConnection1.Params.Append('HostName=localhost');
SqlConnection1.GetDriverFunc := 'getSQLDriverMYSQL50';
SqlConnection1.LibraryName := 'dbxopenmysql50.dll';
SqlConnection1.VendorLib := 'libmysql.dll';
SqlConnection1.Params.Append('Database=MATestDB');
SqlConnection1.Params.Append('User_Name=sa');
SqlConnection1.Params.Append('Password=');
SqlConnection1.Open;
SqlQuery1.Open;
CDS1.Open;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OpenConnection;
end;这些都是我的D7项目的相关细节。在向另一个q发布了我先前的回答后,我决定将两个dbx .Ini文件和两个Dlls放在与我的D7项目相同的目录中更为容易。
dbxopenmysql50.dll日期为2007年8月21日,版本1.3.0.39
libmysql.dll的日期为2006年10月6日,为2,596,864字节。没有嵌入式版本号。
我的MySql服务器是5.6.19版本。显然,您需要确保服务器已正确安装,并且MySql服务器服务正在运行。
正如您所看到的,它在不涉及ODBC的情况下工作。
如果你走了那么远,仍然有问题,我建议你花一些时间改善你的Q,如肯怀特所建议的。
https://stackoverflow.com/questions/37677979
复制相似问题