|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Есть база на MS SQL Server с таблицами и пользовательский интерфейс на MS Access. Подключение через ODBC 13 или ODBC 17. Пока все текстовые поля содержат символы с клавиатуры всё нормально. Но стоит вставить какой нибудь другой символ (на пример ÷) начинаются проблемы. Если этот символ в ключевом поле, то вся строка в линкованой таблице помечается как удалённая, хотя реально на сервере она никуда не девается. Если это поле просто индексированное то линкованая таблица в Access её показывает, но фильтр по этому символу не работает и поисковые запросы по этому полю его пропускают. Отдельно друг от друга SQL Server и Access этим вроде не страдают, но в паре получается проблема. Как тут быть ? Вот в чём вопрос). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2019, 16:54 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Добавлю вводные данные. Сервер: (просто тестовый комп) Windows7 рус, MS SQL Server14 рус, шрифт по умолчанию. Клиент: Windows7 рус, MS Access 13 рус, тоже всё по умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2019, 18:57 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Geizer1, Да причем тут вводные данные... Эти другие символы откуда? Это мусор ? Откуда они берутся, если пользователь их не может физически на клавиатуре набрать? Если мусор - исключить его воспроизводство из вне или сделать фильтры на вход в БД... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2019, 21:57 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
vmag, Часть информации в базу вводится из Exell таблично (с преобразованием чтоб всё совпадало), слава богу это не часто, но как раз отсюда и прилетел первый голубь. Замечать это надо во время, а не когда с глюками сталкиваешься. Ну а как ограничить вводимую информацию пользователем? Таблиц 40 штук, форм наверно еще больше. Как это сделать централизованно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2019, 16:59 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Geizer1Часть информации в базу вводится из Exell таблично (с преобразованием чтоб всё совпадало), слава богу это не часто, но как раз отсюда и прилетел первый голубь. Думаю причину нужно искать в преобразовании, в эксель то тоже с клавиатуры нельзя внести мусор... нужно смотреть в сторону преобразования... Возможно и ексель не форматирован, ячейки для цифр по формату текстовые например, ну типа на экране все нормально визуально, а в бд попадает не то... нужно брать конкретную коллизию и исследовать путь от начала до конца, в общем нужно искать причину, а не лечить последствия... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2019, 23:58 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Geizer1, сталкивался с подобным при линковке mysq-ms acess. Решается перелинковкой таблиц через экземпляр драйвера с кодировкой Юникод. В вашем случае наверное то же самое, если у вас ODBC 17, посмотрите в настройках экземпляра драйвера, в каком формате поток. Вот настройка, нашел в сети, сам не пробовал: здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 00:00 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
Сергей ЛаловGeizer1, сталкивался с подобным при линковке mysq-ms acess. Решается перелинковкой таблиц через экземпляр драйвера с кодировкой Юникод. В вашем случае наверное то же самое, если у вас ODBC 17, посмотрите в настройках экземпляра драйвера, в каком формате поток. Вот настройка, нашел в сети, сам не пробовал: здесь В этом примере всё по умолчанию. Я так и делал. ODBC 17 вроде поддерживает Юникод по крайней мере использует его, и если проблемные символы не в ключевых полях то как я и писал - их видно и их можно редактировать. Но при этом в линкованных таблицах поиск по ним не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 06:02 |
|
Передача символов через ODBC
|
|||
---|---|---|---|
#18+
vmagGeizer1Часть информации в базу вводится из Exell таблично (с преобразованием чтоб всё совпадало), слава богу это не часто, но как раз отсюда и прилетел первый голубь. Думаю причину нужно искать в преобразовании, в эксель то тоже с клавиатуры нельзя внести мусор... нужно смотреть в сторону преобразования... Возможно и ексель не форматирован, ячейки для цифр по формату текстовые например, ну типа на экране все нормально визуально, а в бд попадает не то... нужно брать конкретную коллизию и исследовать путь от начала до конца, в общем нужно искать причину, а не лечить последствия... Ну путаниц символ- цифра там нет, а вот при наборе в Exell на локальном компе, юзеры вполне могут вставлять разные символы для красоты в текстовых полях. То преобразование которое я вспоминал форматированием текстовых полей не занимается (разве что пробелы убирает вначале и в конце поля). А теперь получается надо проверять на соответствие региональной-используемой странице символов ANSI. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2019, 06:18 |
|
|
start [/forum/topic.php?fid=45&tid=1610547]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 135ms |
0 / 0 |