■質問日: |
2012/09/18 |
■最終更新日: |
2018/06/22 |
■質問内容: |
以下の環境でWebReportCafeを使用しています。 DB:Microsft SQL Server JDK:JDK6.0 JDBC Driver:sqljdbc4.jar これまでJDK1.4.2、sqljdbc.jarを使用していたのですが、上記環境に変更したところ、以下のエラーが出ます。 jp.co.tenartni.data.DataHandleException: データ型が不正です。:-15 |
■回答内容: |
エラーはNCHAR型を使用している場合のエラーです。 WebReportCafeはNCHAR型、NVARCHAR型をサポートしておりません。 JDK1.4、1.5対応のMicrosft SQL ServerのJDBCドライバ(sqljdbc.jar)は、NCHAR型を使用していてもJDBCのCHAR型にマッピングしていたので、使用できました。 JDK6.0に対応するsqljdbc4.jarからは、NCHAR型はNCHAR型にマッピングするようになったため、 WebReportCafeでエラーとなるようになりました。 参照サイト: http://msdn.microsoft.com/ja-jp/library/ms378878.aspx http://msdn.microsoft.com/ja-jp/library/ms378422.aspx 結論として、WebReportCafeでMicrosft SQL ServerのNCHARを含むカラムを使用する場合、 JDK1.5までは使えていても、JDK6.0からは使用できません。 WebReportCafeはNCHAR型をサポートしておりませんので、DBにNCHARが含まれる場合はご注意ください。 <追記> 対応策の1つとして、SQLにてNCHARをCHARにキャストする方法もあります。 SELECT CAST(A as char(5)) as A |
■添付資料: |
なし |