Info

Archive for

久し振りになんか書こうと思って、WordPressにログインしてみたら、あら!いつも間にかメニューが日本語になっていました。
ずっと前から変えようと思ったテーマを見てみるとテーマ別選択機能とページング機能が追加されてました。ページをめぐってみましたが、残念なことにテーマそのものは追加されてないようです。 (残念1)

次にウェジェットを変えてみようと思ってクリックしてみたら、固まってしまった、Firefoxで。 その後IEで開いてみても同じ、結局は強制終了。(残念2)

編集したページみたらここもおかしい、カレンダーは英語で、カテゴリーは日本語で表示されました。なんだこれは?

やっぱり金払って使ってるものとただで使ってるものの差がここにあるんでしょうかね???

もうちょっとでTomcatとOracleを使ったプロジェクトが始まるので、今日下準備として、サンプルコード書いてみようと思った。まずはTomcat5.5、Oracle10g R2をインストール。そしてEclipseとTomcatPlugin。一通りインストール終わったらOracle接続のサンプルを書いてみたが初めのごろはどうもうまくいかなかった。以下が自分がぶつかった問題。

1.データベース環境
バージョン:Oracle10g R2
データベース名:ora10g
スキーマ名:scott
パスワード:tiger

2.Tomcat環境
バージョン:Tomcat5.5
プロジェクト名:sample

server.xml
<Resource name=”jdbc/myoracle” auth=”Container” type=”javax.sql.DataSource”/>
<ResourceParams name=”jdbc/myoracle”>
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>scott</value>
</parameter>
<parameter>
<name>password</name>
<value>tiger</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:ora10g</value>
</parameter>
</ResourceParams>

実行してみると以下のようなエラーが出た。

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class ” for connect URL ‘null’
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)

以下のように修正したらうまくいった。

<Resource name=”jdbc/myoracle” auth=”Container”
type=”javax.sql.DataSource”
driverClassName=”oracle.jdbc.driver.OracleDriver”
url=”jdbc:oracle:thin:@localhost:1521:ora10g”
username=”scott”
password=”tiger”
maxActive=”1″
maxIdle=”1″
maxWait=”3000″
defaultAutoCommit=”false”
removeAbandoned=”true”
logAbandoned=”true” />

ちなみに、Javaのソースコードは以下のようにする。

DataSource ds = (DataSource) ic.lookup(“java:comp/env/jdbc/myoracle”);
Connection con = ds.getConnection();
// Statementを取得
Statement stmt = con.createStatement();
// 検索するSQL文を作成
String sql = “SELECT * FROM emp”;
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
rs.getInt(“EMPNO”) ;
}