gpt4 book ai didi

mysql - Delphi 7 ODBC MySQL Win 7

转载 作者:行者123 更新时间:2023-11-29 11:29:20 24 4
gpt4 key购买 nike

我似乎一直在兜圈子,却始终无法解决这个问题。我找到了可以安装的 mySQL 5.1 32 位,并且制作了架构和表我还找到了我安装的 ODBC 5.1 连接器。使用开始按钮编辑器找到 dll - libmysql.dll dbexpmysql.dll dbxopenmysql50.dll myodbc5w.dll在表单上启动 Delphi 7 和 DB Express 连接器婴儿车主机名 - 本地主机。
数据库-站点。用户名 - root。密码 - 管理员。休息是默认的我已经尝试了上面所有的dll错误 - 无法加载libmysql.dll 或我在 LibaryName 中选择的 Dll。这基本上是一台干净的计算机我究竟做错了什么我检查了我的婴儿车,记得我在设置中将 MySQL 设置为 localhost - 3306,因为 localhost 在 google chrome 中是 ISS 起始页这是一台独立的计算机,我是否缺少某些更新以及从哪里获取更新。我在我的另一台计算机上查看过其他数据库,例如 NoMySQL、oracle,但它们无法轻松安装在我凌乱的计算机上作为独立数据库。

最佳答案

您可能想看看我对此问题的回答:

how to connect to a MySQL server

这是关于让 MySql 与 D7 和 XE5/6 一起工作。在我编写它时,我在让 MySql 与这些 Delphi 版本中的任何一个一起工作时遇到问题。事实证明,主要问题是我使用的 MySql Dll 版本太新。我最终让它工作起来,但花了我几天时间,这就是为什么我决定为后代记录准确的方法。

如果您按照该答案中的确切编号步骤进行操作,我认为您很有可能最终得到一个至少有机会与 D7 一起使用的 MySql 设置(特别注意,我不得不从 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 项目的所有相关细节。在发布我之前对其他问题的回答后,我认为将两个 dbx .Ini 文件和两个 Dll 放在与我的 D7 项目相同的目录中会更容易。

dbxopenmysql50.dll 日期为 2007 年 8 月 21 日,版本为 1.3.0.39

libmysql.dll 的日期为 2006 年 10 月 6 日,大小为 2,596,864 字节。没有嵌入的版本号。

我的MySql服务器版本是5.6.19。显然,您需要确保服务器已正确安装并且 MySql Server 服务正在运行。

如您所见,它无需涉及 ODBC 即可工作。

如果您已经走到了这一步,但仍然遇到问题,我建议您花一些时间按照 Ken White 的建议改进您的 q。

关于mysql - Delphi 7 ODBC MySQL Win 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37677979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com