共有メモリ プロトコルをオンにして、ローカルの MYSQL サーバーを起動しました。ZeosLibを使用してサーバーに接続するにはどうすればよいですか? 共有メモリを使用していることをどこで指定しますか?
私は Lazarus(freepascal) を使用していますが、方向性は Delphi でも同じでしょう (おそらく)。
に接続文字列プロパティがない場合でもTZConnection
、 で追加の接続パラメータを設定できますTZConnection.Properties
。
この方法でMySQLサーバーを実行していると思います
mysqld --skip-networking --shared_memory=1 --shared-memory-base-name='MyMemoryDB'
共有メモリ接続を有効にするにはTZConnection.Properties
、オブジェクト インスペクターで設計時に次の構成行をプロパティに追加してみてください。をそのまま、コマンド ライン パラメータで使用したのと同じ値にprotocol
設定する必要があることに注意してください。shared-memory-base-name
デフォルト値は MYSQL であるため、コマンド ラインでパラメータを省略した場合は、次の MyMemoryDB 値を MYSQL に変更する必要があります。
したがって、TZConnection.Properties
プロパティでこれらの2行を追加してみてください
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;
これが何らかの形で役立つことを願っています。適切な環境がないため、テストしていません。
ZeOSがサポートしている場合、(TZ) 接続オプションに追加できるテキスト プロパティである可能性があります。他の clientlib プロパティと同様です。