ここでは,SQL Serverと接続する場合の前提条件と注意事項について説明します。
SQL Serverの場合の前提条件について示します。
表3-33 RARファイルごとに使用できるトランザクションサポートレベル(SQL Server)
使用するDB Connector (RARファイル) | トランザクションサポートレベル | ライトトランザクション | |
---|---|---|---|
有効 | 無効 | ||
DBConnector_SQLServer_CP.rar DBConnector_SQLServer2005_CP.rar | NoTransaction LocalTransaction | ○ | ○ |
(凡例) ○:使用できる
なお,SQL Serverと接続できるのはWindowsの場合だけです。
ここでは,SQL Serverと接続する場合のシステムでの文字コード変換に関する注意事項とDB Connector設定時の注意事項について説明します。
SQL Server接続時,データベースに日本語文字コードを含むデータを格納する場合,システムでの文字コード変換について考慮する必要があります。ここでは,システムでの文字コード変換の概要と,文字化けを回避するために設定時に注意することについて説明します。
Javaでは日本語文字コードはUnicodeで表現されます。SQL Serverを使用する場合,Webクライアントとアプリケーションサーバ間,およびアプリケーションサーバとSQL Server間の処理で文字コード変換が実施されます。
SQL Serverを使用する場合の文字コード変換の概要を次の図に示します。
図3-19 SQL Serverを使用する場合の文字コード変換の概要
図中の1.~4.について説明します。
SQL Serverを使用する場合,外部文字コードとデータベース格納文字コードの組み合わせや,文字コード変換を実施する場合に使用されるコンバータの種類によっては,文字化けなどの問題が発生することがあります。このような文字化けを回避するためには,文字コードの設定に注意する必要があります。
SQL Serverでは次の表に示す文字データ型をサポートしています。SQL Serverを使用する場合,Unicodeデータ型を使用することによって,文字コード変換時に発生する文字化けを防ぐことができます。
表3-34 SQL Serverでサポートする文字データ型
カテゴリ | 文字データ型 |
---|---|
Unicodeデータ型 | nchar,nvarchar,ntext |
非Unicode文字データ型 | char,varchar,text |
次に,SQL Serverでのデータベース格納文字コードとして,Unicodeデータ型を使用する場合と,非Unicodeデータ型を使用する場合の文字コード変換について説明します。
DB ConnectorのselectMethodプロパティ(<config-property-name>の項目名)の値に「direct」を設定した場合の注意事項を次の表に示します。
表3-35 DB ConnectorのselectMethodプロパティ設定時の注意事項
条件 | 注意事項 |
---|---|
コネクションの障害検知機能が有効 | コネクションに障害が発生していても正常であると誤診することがあります。その結果,ユーザアプリケーションプログラムに障害が発生したコネクションを返すことがあるので,コネクションの障害検知機能を使用しないでください。障害が発生したら,cjclearpoolコマンドを実行してください。 |
Statement,PreparedStatement,CallableStatementを複数同時に生成 | SQL ServerのJDBCドライバによって,同時に生成したステートメントごとにSQL Server 2000への接続が生成されます。 また,ステートメントプーリング機能を使用する場合には,プールされているステートメントごとに接続が生成され,メモリを多く消費するので注意してください。 |