MySQLへ二重接続

ちょっと必要性の問題でひとつのプログラムから同時に2つのDBへ接続するテストを行いました。

ソースはこちら(クラスで使ったほうが楽になるのでC++版のみです。)
mysql_cxx20060520-1

コンパイルした後、実行したらFreeBSDだとライブラリが見つからないとエラー、初期のソースを組んだ後PHPのインストールと設定などで一度reboot掛けていたのでldconfigの効果が消えていたっぽい。

ldconfig -m /usr/local/mysql/lib/mysql

Linuxだと/etc/ld.so.confに書けば済むはず(こっちはreboot掛けたことない)なのに、FreeBSDには該当ファイルなし。findで探したら/usr/compat/linux/etc/ld.so.confに見つかったが編集してreboot掛けても意味なし。/etc/ld.so.confにコピーしてrebootしてもダメ。

結局、.loginに

if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH “${LD_LIBRARY_PATH}:${MYLIB}”
else
setenv LD_LIBRARY_PATH “${MYLIB}”
endif

と追加して解決。

DBクライアントは他のユーザーでも使用するかも知れないから/etc/profileに書いたほうがいいかなー?