Database

MySQLで縦型を横型に(擬似)変換する(GROUP BYでも全ての値を取り出す)方法

普通GROUP BYしたときには、まとめられたレコードのうちどれか1レコードだけが取れます。 GROUP_CONCATを使うと、1レコードではなくて全レコードを連結した値を取り出せます。MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.19.1 GROUP BY (集約) 関数 …

Catalyst+FastCGIで「MySQL server has gone away」→mysql_auto_reconnect[DBIC]

[error] DBIx::Class::ResultSet::pager(): DBI Exception: DBD::mysql::st execute failed: MySQL server has gone awayなんていうエラーが出てたのですが、 FastCGI(Catalystの方?)では$ENV{GATEWAY_INTERFACE}も$ENV{MOD_PERL}もないので、どうもmysql_…

DBIx::Class経由で取得する文字列にUTF-8 flagを付けたい[Catalyst]

以前からブログに書こうかどうか迷っていたものです。 DBIx::Class::UTF8Columnsでできるんですが、カラムを指定するのが面倒。 MySchemaはDBIx::Class::Schema::Loaderで自動生成してることもあって、あんまりMySchema/*をいじりたくない。 というわけで、i…

DBIx::Class::Schema::Loaderでダンプさせたやつが変わってて(´(・)`)クマッタ・・[Oracle]

スキーマが変わったのでダンプさせたら -__PACKAGE__->load_components("PK::Auto", "Core"); +__PACKAGE__->load_components("Core"); - { - data_type => "TIMESTAMP(6)", - default_value => undef, - is_nullable => 1, - size => 11, - }, こんな差分に…

SQLiteのGUI

SQLite Control Center - SQLiteCC(SQLite Control Center download | SourceForge.net)wxWidgetsとwxSQLiteを使ってるらしい。 http://sqlitebrowser.sourceforge.net/(DB Browser for SQLite download | SourceForge.net) どっちでもいいけど、強いて言え…

セッションのNLSパラメータを取得したい。[Catalyst][Oracle]

DBD::Oracleでは、$dbh->ora_nls_parameters->{...}でNLSパラメータを取得できます。 MyApp::Model::DBIC内で、connectした後に一度だけ取得したかったのでCOMPONENTメソッドを使ってみました。(勘違ってたら教えてください) package MyApp::Model::DBIC; …

DBD::Oracle on CygwinでNLS_LANGをちゃんと設定するには

DBD::Oracle(1.19)はNLS_LANGを取得する際、Windows環境ではレジストリを優先的に見に行くようです。 初期状態でレジストリに設定されているNLS_LANGは恐らくJapanese_Japan.JA16SJISだと思います。 レジストリをいじってしまえばできるんだけども、他のマシ…

改めてPerlからOracleに接続する方法のまとめ

環境はCygwin + Oracle Instant Client + DBD::Oracleですが、どこでも同じようなものです。 インストール Instant Client Downloadsに行き、コンパイルに必要な「Instant Client Package - SDK」をダウンロードして展開します。展開した先(/usr/local/inst…

instantclient 10.1.0.5 で DBD::Oracle 1.15 を入れる。

http://www.naney.org/diki/d/2005-05-19-DBD-Oracle.html http://www.cpanforum.com/posts/242 (basicとsdkだけで良い) instantclient-*-linux32-10.1.0.5-20060511.zip を展開し、適当なディレクトリに設置 ORACLE_HOMEをそのディレクトリに設定 $ cd $O…

インストール MySQL/5.0.22 + DBD::mysql/3.0006 on Cygwin

MySQL Serverのインストール http://dev.mysql.com/downloads/ からWindows用のものをダウンロードする。 Windows Essentialsでも大丈夫。ただしEssentialsはMySQL-Maxなどを含まないビルドなので、InnoDBが使いたいなら普通のやつをどうぞ。・noinstall版の…

Oracle/MySQL Benchmark

前々からOracleは遅いなーと思ってたんだけど、LOB型のせいだったのかねぇ。 さて、重要な結論から言いますと、Oracle 10g でも遅くて使い物になりませんでした。 insert で約40倍の遅さ。select で約6倍の遅さという結果になりました。やっぱ DBD::Oracl…