SQL Server2008, JDBC, PreparedStatement#setString()で設定した値がnvarchar(4000)扱いされる - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

同じような事例: http://www.thatsjava.com/jdbc/104532/(解決方法が書いてあるというリンクが買収の影響で無効……) 現象 タイトルどおり。何が困るかというと、 select * from X where X.code in (?,?,?,?, ... ) みたいなクエリを投げた場合。codeがvarchar型でパラメタがnvarchar型だと、インデクスを使ってくれずにすご…