Perl+mySQLメモ
2015年8月10日 DBJava+mySQL でバインド変数が使用できなかったので、他言語で試してみた。
一応メモ。
最初は接続できなかったので調べると、どうもモジュール不足らしい。
コマンドプロンプトで
データ取得後に文字化け発生、エンコードを試みる。
だがJcodeが見つからないとエラーが出る。
これを使う度に小飼弾さんは偉大だなぁと思う。
再実行したが文字化けが直らない。
エラーが出る。どうもmySQLは:1ではダメらしい。
これだと上手くいく。
Perlだと成功したけど、もしかしてJava+mySQL(ODBC)だとバインド変数ダメなのか…?
一応メモ。
DB接続
my $dbh = DBI->connect(’DBI:mysql:DB name’,’user’,’password’);
print $dbh;
実行時にエラー発生
Available drivers: CSV, DBM, ExampleP, File, Gofer, ODBC, Oracle, Pg, Proxy, SQLite, Sponge.
最初は接続できなかったので調べると、どうもモジュール不足らしい。
コマンドプロンプトで
ppm install DBD::mysql
再実行
DBI::db=HASH(0x2704380)
データ取得後に文字化け発生、エンコードを試みる。
use Jcode;
だがJcodeが見つからないとエラーが出る。
Jcodeをインストール
perl -MCPAN -e shell
install Jcode
これを使う度に小飼弾さんは偉大だなぁと思う。
再実行したが文字化けが直らない。
doメソッドで文字コードを指定する。
set names utf8
バインド変数を指定してSQLを実行
select * from table_name where column = :1
エラーが出る。どうもmySQLは:1ではダメらしい。
バインド変数を直してして再実行
select * from table_name where column = ?
これだと上手くいく。
Perlだと成功したけど、もしかしてJava+mySQL(ODBC)だとバインド変数ダメなのか…?
コメント