俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

Java(Seasar2)-S2JDBCでのSQL Serverへの接続文字列と設定方法

      2014/08/31

Java(Seasar2)の「S2JDBC」は、DBのアクセスとJavaオブジェクトの変換を行うO/Rマッピングのフレームワーク。

各データベースへの接続設定方法は、設定ファイルに記載例があるので、それを流用すればOK。

以下の代表的なデータベースの設定例がある。

  • Oracle
  • PostgreSQL
  • MySQL
  • DB2
  • Microsoft SQL Server など

スポンサード リンク

今回は、「SQL Server」。

設定ファイルに記述する接続文字列で苦労したので、忘れぬようメモ。

なお、今回のバージョンは以下です。

  • SQL Server Standard 2008 R2

「s2jdbc.dicon」ファイル

今回のSQL Serverは「2008」なので、MS SQL Server (2005以降)の「mssql2005Dialect」を設定する。

「jdbc.dicon」ファイル

ここで、データベース接続文字列を書く。

今回の場合は、データベースは名前付きインスタンス。

Microsoft公式サイトにあるように「サーバー名\\インスタンス名;」(「\」2つでエスケープシーケンス)としたが、「Unknown server host name ‘サーバー名\インスタンス名’.」というエラーとなる。

最終的に、「サーバー名;instance=インスタンス名;」とすることで無事に接続できた。

こんな感じです。

SQL Serverのインスタンス名の確認

今回は名前付きインスタンスだったので、SQL Serverのインスタンス名の確認方法も。

「SQL Server Management Studio」⇒サーバーへログイン⇒左側の「オブジェクトエクスプローラ」⇒対象のデータベースサーバ上で右クリック⇒「プロパティ」で「サーバーのプロパティ」を開く。

左側の「接続」⇒「接続のプロパティを表示します」で「接続プロパティ」を開く。

「製品」⇒「インスタンス名」に名前付きインスタンスの場合、インスタンス名が表示される。

参考サイト

Seasar2 – S2JDBC

SQL Serverのインスタンス名を調べる方法。 | exceedone (エクシード・ワン)

JDBCドライバを使ってSQL Server 2008の名前付きインスタンスに接続する方法 – 手抜きぷろぐらまのメモ帳

Oracle SQL Developer and a SQL Server Instance

 - Java, Java(Seasar2), SQL Server