2011年3月25日金曜日

PostgreSQLにCSVからデータ読込

PostgreSQL 8.4で確認

SQL SHELLから、以下のコマンドを実行する

COPY tablename 'C:/hoge/hogehoge.csv' WITH CSV;

ヘッダー付の場合はこんな感じ。

COPY tablename 'C:/hoge/hogehoge.csv' WITH CSV HEADER;

パスは"/"の代わりに"\\"でも大丈夫。二つ続けるのは一つだとエスケープされてしまうため。

ただ、エラーが出るのでパスの前に"E"を付けること。こんな感じ。

COPY tablename E'C:\\hoge\\hogehoge.csv' WITH CSV HEADER;

パスに日本語が入ってるとダメみたい。

あと、読込ファイルとDBの文字コードは予め同じものにしておくこと。

Edit: なんかSQL SHELLの文字コードも合わせておく必要があるみたい。SQL SHELL起動時に変更するか、以下のコマンドを実行する。

SET client_encoding='UTF8';

2011年3月18日金曜日

Seasar2+Flex+tomcatでSQL Server 2008に接続する

詰まったところだけ端的に。

sqljdbc4.jarの追加は忘れずに!

■s2jdbc.dicon
<components>
    <include path="jdbc.dicon"/>
    <include path="s2jdbc-internal.dicon"/>
    <component name="jdbcManager">
        <property name="maxRows">0</property>
        <property name="fetchSize">0</property>
        <property name="queryTimeout">0</property>
        <property name="dialect">mssql2005Dialect</property>
    </component>
</components>

■jdbc.dicon
<!-- for SQLServer -->
<component name="xaDataSource" class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
    <property name="driverClassName">
        "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    </property>
    <property name="URL">
        "jdbc:sqlserver://localhost;instanceName=TEST;databasename=TESTDATABASE"
    </property>
    <property name="user">"user"</property>
    <property name="password">"pass"</property>
</component>
instanceNameとdatabasenameを設定し忘れてかなり時間食った…
参考: http://technet.microsoft.com/ja-jp/library/ms378428(SQL.90).aspx

2011年3月17日木曜日

Flex Builder 3 をJDK6で動かす

Flex Builder 3 は通常、C:\Program Files\Adobe\Flex Builder 3\jre 以下のJREで動いている。

でもこれだと、例えばMaven pluginを入れた時とかに

「JDKで動かさないと使えない機能があるよ!」

と怒られてしまう。

そこで、Flex Builder 3 を自分でインストールした別のJDKで動かしてみる。

FlexBuilder.ini(C:\Program Files\Adobe\Flex Builder 3\FlexBuilder.ini) に

-vm C:\Program Files\Java\jdk1.6.0_23\jre\bin\javaw.exe

を追加すれば動く、みたいな話もあったけどうまく行かなかったのでFlex Builder 3 のショートカットのリンク先を以下のように変えてみたらうまくいった。

"C:\Program Files\Adobe\Flex Builder 3\FlexBuilder.exe" -vm "C:\Program Files\Java\jdk1.6.0_23\jre\bin\javaw.exe"