ZeosLib 与 MYSQL 的共享内存协议?

发布于 2024-12-08 17:42:54 字数 182 浏览 0 评论 0原文

我启动了本地 MYSQL 服务器并打开了共享内存协议。 如何使用 ZeosLib 连接到我的服务器?我在哪里指定它正在使用共享内存?

我正在使用 Lazarus(freepascal),尽管 Delphi 的说明是相同的(可能)。

I started up my local MYSQL server with the shared memory protocol turned on.
How can I connect to my server with ZeosLib? Where do I specify that it is using shared-memory?

I am using Lazarus(freepascal), although the directions would be the same for Delphi (probably).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠佳期 2024-12-15 17:42:54

即使 TZConnection没有连接字符串属性,您可以在 TZConnection.Properties

我假设您以这种方式运行 MySQL 服务器

mysqld --skip-networking --shared_memory=1 --shared-memory-base-name='MyMemoryDB'

要启用共享内存连接,您可以尝试将以下配置行添加到属性 TZConnection.Properties 在设计时在对象检查器中。
请注意,协议必须按原样设置 shared-memory-base-name 设置为与命令行参数中使用的值相同。默认值为 MYSQL,因此如果您在命令行中省略该参数,则应将以下 MyMemoryDB 值更改为 MYSQL。

所以在 TZConnection.Properties< /a> 属性尝试添加这两行

protocol=memory
shared-memory-base-name=MyMemoryDB

或者在运行时在 TZConnection.BeforeConnect 事件希望

procedure TForm1.ZConnection1BeforeConnect(Sender: TObject);
begin
  ZConnection1.Properties.Add('protocol=memory');
  ZConnection1.Properties.Add('shared-memory-base-name=MyMemoryDB');
end;

这会对您有所帮助。我没有测试过,因为我没有合适的环境。

Even if the TZConnection has no connection string property you can set the additional connection parameters in TZConnection.Properties.

I presume you run your MySQL server this way

mysqld --skip-networking --shared_memory=1 --shared-memory-base-name='MyMemoryDB'

To enable your shared memory connection you might try to add the following configuration lines into the property TZConnection.Properties at design time in Object Inspector.
Note that the protocol must be set as it is and shared-memory-base-name to the same value as you used in the command line parameter. The default value is MYSQL so if you omit the parameter in command line then you should change the following MyMemoryDB values to MYSQL.

So in TZConnection.Properties property try to add these two lines

protocol=memory
shared-memory-base-name=MyMemoryDB

or at runtime in the TZConnection.BeforeConnect event handler use

procedure TForm1.ZConnection1BeforeConnect(Sender: TObject);
begin
  ZConnection1.Properties.Add('protocol=memory');
  ZConnection1.Properties.Add('shared-memory-base-name=MyMemoryDB');
end;

Hope this will help you somehow. I haven't tested it because I don't have the proper environment.

似狗非友 2024-12-15 17:42:54

如果 ZeOS 支持它,它可能是一个可以添加到 (TZ) 连接选项的文本属性。就像其他 clientlib 属性一样。

IF ZeOS support it, it is probably a textual property that can be added to the (TZ)connection options. Just like other clientlib properties.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文