2

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

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

4

2 回答 2

3

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

我想你以这种方式运行你的 MySQL 服务器

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

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

所以在TZConnection.Properties属性中尝试添加这两行

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;

希望这会以某种方式帮助你。我没有测试它,因为我没有合适的环境。

于 2011-10-13T09:08:31.013 回答
0

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

于 2011-10-10T13:04:05.850 回答