
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.02.2006, 00:08
|
|||
|---|---|---|---|
|
|||
CallableStatement+Unicode |
|||
|
#18+
На сервере MS SQL Server 2000 SP3 имеется таблица с 3 столбцами типа NVARCHAR. Также есть хранимая процедура типа CREATE PROCEDURE select_Data (@param1 NVARCHAR(30), @param2 NVARCHAR(30), @param3 NVARCHAR(30)) AS SELECT col1, col2, col3 FROM tableData Из приложения на Java пишу String params[] = ...; ... Callable Statement cs = myConnection.prepareCall("{call select_Data(?, ?, ?)}", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); cs.setString(1, params[0]); cs.setString(2, params[1]); cs.setString(3, params[2]); rs = cs.executeQuery(); totalRows = new Vector(); while ( rs.next() ) { String[] record = new String[ columnCount ]; for (int i = 0; columnCount > i; i++) { record = rs.getString( i + 1 ); } totalRows.addElement( record ); } А вот проблема - когда меняю региональные стандарт (в Windows XP), то rs.getString не может разобраться в символах и заменяет те, которые не знает на вопросы ("???"). При стандарте Английский(США) - не распознает Кириллицу При Русский - не распознает символы других языков и т.д. А если создать объект Statement с запросом SELECT * FROM tableData то возвращает все символы любого языка без проблем. Может CallableStatement не работает с Unicode? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2006, 00:56
|
|||
|---|---|---|---|
|
|||
CallableStatement+Unicode |
|||
|
#18+
прпробуй запусти свое приложение или сервер на котором запускается приложение с ключем -Dfile.encoding=windows-1251 или дугую, потому что в своих программах (в частности когда писал сервлет доступа к БД) если указывать в параметрах соединения с БД через JDBC непосредственно требуемую кодировку - возникали проблемы... данные проблемы были замечены с PreparedStatement, предположительно и с CallableStatement ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2006, 02:12
|
|||
|---|---|---|---|
|
|||
CallableStatement+Unicode |
|||
|
#18+
unicornmirageпрпробуй запусти свое приложение или сервер на котором запускается приложение с ключем -Dfile.encoding=windows-1251 или дугую, потому что в своих программах (в частности когда писал сервлет доступа к БД) если указывать в параметрах соединения с БД через JDBC непосредственно требуемую кодировку - возникали проблемы... данные проблемы были замечены с PreparedStatement, предположительно и с CallableStatement Ключ не помог. В параметрах соединения я тоже пробовал и тоже не получилось. Проблем с локализацией приложения нету. Все локали при разных рег. стандартах грузятся номально, но вот только проблема с отображением данных из ResultSet-а. Конечно проблему можно было бы решить, если перенести всю логику на приложение, но: 1) не охота переносить все хранимые процедуры на приложение(т.е. их код), так как их уже около 300. 2) по моему логика, сосредаточенная в приложении - это такой геморрой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2006, 12:30
|
|||
|---|---|---|---|
|
|||
CallableStatement+Unicode |
|||
|
#18+
А если так, через JTDS? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. У меня выводит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2006, 23:15
|
|||
|---|---|---|---|
|
|||
CallableStatement+Unicode |
|||
|
#18+
Denis PopovА если так, через JTDS? Проблема разрешилась. Просто заменил. com.microsoft.jdbc.sqlserver.SQLServerDriver на net.sourceforge.jtds.jdbc.Driver. Все символы теперь выводятся нормально. Большое спасибо за подсказку использовать другой драйвер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2150156]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 531ms |

| 0 / 0 |
