Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Проблема: вместо русских букв - иероглифы!
В файле кодировку менять нельзя - он присылается сторонней организацией.
Задача: нужно чтобы она (dbf Foxpro) в студии считывалась нормально - русские буквы были.
Подскажите что в строке поставщика написать или может в настройках поставщика какую галку поставить?.
Поставщик только Microsoft.ACE.OLEDB.12.0, т.к. система 64 бит.
Прилагаю файл пример.
29 июн 15, 15:10    [17828606]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8717
Mih_dim,

надо один байт коировки в DBF установить, поищите по конференции, тем поднималась.
29 июн 15, 15:27    [17828709]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Okmor
Member

Откуда:
Сообщений: 132
Нужно править в реестре. Строка соединения не поможет. Где уже не помню. - Ищите, вспоминают часто.
29 июн 15, 16:06    [17828919]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
o-o
Guest
кодировка файлов при загрузке dbf
29 июн 15, 17:37    [17829408]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Okmor
Member

Откуда:
Сообщений: 132
o-o,

Все мои попытки указать кодировку провайдера ни к чему не привели. -Править в реестре. Это касается 64х драйверов.
29 июн 15, 18:10    [17829593]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8717
Okmor,

в смысле что - NLS править? Это не хорошо.
29 июн 15, 18:18    [17829639]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
o-o
Guest
Okmor
o-o,

Все мои попытки указать кодировку провайдера ни к чему не привели. -Править в реестре. Это касается 64х драйверов.

уж я не знаю, как еще-то конкретнее тыкнуть носом.
ну давайте попробуем Bold + Size = 3:
o-o
ну, теперь кто эту тему найдет, будет знать, как действовать.
у кого нету hexadecimal editor, качаем бесплатный xvi32,
OLEDB Provider for Visual Fox Pro тоже лежит в интернете.
меняем на 0x65 по смещению 0x1D, рулит, подтверждаю:


o-o
Glory
пропущено...

разве в провайдере не задается collate ?


задается. но это ЛИПА.
без того поправленного байта кодировки выбираешь Russian,
а показывает кракозябры все равно.

потому что ему все же надо CP в явном виде, я так думаю.
и считывает он CP из файла
29 июн 15, 18:24    [17829671]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Владислав Колосов
Mih_dim,

надо один байт коировки в DBF установить, поищите по конференции, тем поднималась.


То что байт менять - это я в курсе. Но файл присылается сторонней организацией (они править тоже ничего не будут) и каждый раз менять его не вариант. Так что нужно на лету и только с помощью запроса или настроек связанного сервера.
30 июн 15, 09:59    [17831211]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Okmor
Нужно править в реестре. Строка соединения не поможет. Где уже не помню. - Ищите, вспоминают часто.


Хорошо буду искать.
30 июн 15, 10:00    [17831216]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
o-o
кодировка файлов при загрузке dbf


Т.е. по вашему поможет только изменение байта в dbf? А правка реестра не поможет? Мне бы один раз задать и не мучиться с каждым присланным файлом.
30 июн 15, 10:04    [17831235]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
o-o
Guest
Mih_dim,

я не спец по dbf.
могу только сказать, что никакая смена коллэйшена для провайдера не помогала,
т.е. видимо он вычитывает кодовую страницу в самом файле.
на тот момент у меня было хоть на чем попробовать, а сейчас нет даже нужных драйверов,
так что не подскажу.
30 июн 15, 10:34    [17831386]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
o-o
Mih_dim,

я не спец по dbf.
могу только сказать, что никакая смена коллэйшена для провайдера не помогала,
т.е. видимо он вычитывает кодовую страницу в самом файле.
на тот момент у меня было хоть на чем попробовать, а сейчас нет даже нужных драйверов,
так что не подскажу.


Ну хоть и на этом спасибо.
30 июн 15, 10:39    [17831405]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Владислав Колосов
Okmor,

в смысле что - NLS править? Это не хорошо.


Почему это не хорошо. Мне бы один раз изменить в реестре и все. У меня комп - это сервер и нужен он только для работы с базой и все.
30 июн 15, 10:59    [17831531]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Okmor
Нужно править в реестре. Строка соединения не поможет. Где уже не помню. - Ищите, вспоминают часто.


Че то ничего путного не нашел. Есть только для jet и xbase примеры. А у меня Ace. Может подскажете где в реестре менять?
30 июн 15, 11:01    [17831539]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
o-o
Guest
Mih_dim,
вот про NLS, только совет не мой и ответственности за последствия не несу.
лично у меня духу не хватило так винду изгадить, хотя обычно меня долго просить не надо
Проблема с кодировкой русских букв после переноса базы
30 июн 15, 11:16    [17831638]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8717
Mih_dim, какие проблемы-то один байт менять, не пойму? Не руками же. Роботы давно вкалывают :)
30 июн 15, 11:50    [17831943]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
o-o
Mih_dim,
вот про NLS, только совет не мой и ответственности за последствия не несу.
лично у меня духу не хватило так винду изгадить, хотя обычно меня долго просить не надо
Проблема с кодировкой русских букв после переноса базы


Спасибо. Буду иметь введу на крайний случай.
30 июн 15, 11:55    [17831999]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Владислав Колосов
Mih_dim, какие проблемы-то один байт менять, не пойму? Не руками же. Роботы давно вкалывают :)


У меня есть программа на которой работают пользователи. Исходников нет. В ней есть функционал загрузки dbf в sql. Могу править только винду, файл и хранику которая его грузит. Все.
С виндой - реестр - там все понятно - крайний вариант.
Если файл править на лету, то все равно нужно запускать какую то прогу (сам напишу или стороннюю - все равно) - это ручной труд который пользователь должен не забывать делать. Мне надо чтобы пользователь выбирал файл в программе загрузке dbf файл и он грузился нормально и перед этим с файлом он сам не производил никаких действий, т.к. есть вероятность забывчивости и "тупости" пользователя.
30 июн 15, 12:00    [17832042]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mih_dim
У меня есть программа на которой работают пользователи. Исходников нет. В ней есть функционал загрузки dbf в sql. Могу править только винду, файл и хранику которая его грузит. Все.
С виндой - реестр - там все понятно - крайний вариант.
Если файл править на лету, то все равно нужно запускать какую то прогу (сам напишу или стороннюю - все равно) - это ручной труд который пользователь должен не забывать делать. Мне надо чтобы пользователь выбирал файл в программе загрузке dbf файл и он грузился нормально и перед этим с файлом он сам не производил никаких действий, т.к. есть вероятность забывчивости и "тупости" пользователя.

Ну дык берете и пишите триггер для таблицы. В котором перекодируете "иероглифы"
Тогда никто ничего не забудет
30 июн 15, 13:06    [17832407]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Okmor
Member

Откуда:
Сообщений: 132
У меня есть самописный загрузчик DBF в microsoft sql.
1. Создаешь таблицы той же структуры, что DBF
2. Прописываешь файл подключения
3. Прописываешь список файлов.
Запускаешь exe файл и все качается в SQL сервер.
прим.
Все таблицы в SQL должны начинаться на "DBF_"[имя таблицы]
Перед импортом все "DBF_"[имя таблицы] очищаются
Все работает без всяких драйверов и жрет все типы DBF файлов

НУЖНО?
30 июн 15, 16:13    [17833599]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8717
Mih_dim,

чудес-то не бывает, байт все равно надо править или использовать дополнительный софт.
30 июн 15, 17:18    [17833947]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Glory
Mih_dim
У меня есть программа на которой работают пользователи. Исходников нет. В ней есть функционал загрузки dbf в sql. Могу править только винду, файл и хранику которая его грузит. Все.
С виндой - реестр - там все понятно - крайний вариант.
Если файл править на лету, то все равно нужно запускать какую то прогу (сам напишу или стороннюю - все равно) - это ручной труд который пользователь должен не забывать делать. Мне надо чтобы пользователь выбирал файл в программе загрузке dbf файл и он грузился нормально и перед этим с файлом он сам не производил никаких действий, т.к. есть вероятность забывчивости и "тупости" пользователя.

Ну дык берете и пишите триггер для таблицы. В котором перекодируете "иероглифы"
Тогда никто ничего не забудет


Так вот вопрос как мне в триггере или в хранимке перекодировать? Есть пример запроса?
1 июл 15, 11:16    [17836516]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mih_dim
Так вот вопрос как мне в триггере или в хранимке перекодировать?

Написав для каждого "иероглифа" replace
1 июл 15, 11:17    [17836526]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
Mih_dim
Member

Откуда:
Сообщений: 145
Okmor
У меня есть самописный загрузчик DBF в microsoft sql.
1. Создаешь таблицы той же структуры, что DBF
2. Прописываешь файл подключения
3. Прописываешь список файлов.
Запускаешь exe файл и все качается в SQL сервер.
прим.
Все таблицы в SQL должны начинаться на "DBF_"[имя таблицы]
Перед импортом все "DBF_"[имя таблицы] очищаются
Все работает без всяких драйверов и жрет все типы DBF файлов

НУЖНО?


Давайте. Лишняя примочке никогда не помешает. Если не для этой, то для другой задачи пойдет. Вопрос только в скорости заливки данных. Примерно такая же как и через ACE? и что с кодировкой? "Хавает" любую?
1 июл 15, 11:18    [17836534]     Ответить | Цитировать Сообщить модератору
 Re: Microsoft.ACE.OLEDB.12.0 и кодировка (русский слова - иероглифы)  [new]
o-o
Guest
Mih_dim
Так вот вопрос как мне в триггере или в хранимке перекодировать? Есть пример запроса?

самому написать таблицу соответствий иероглифов кириллице и заменять.
"постоянная Планка с уехавшей наверх планкой" -- это "О".
а "могильный крест" -- это "З"
1 июл 15, 11:29    [17836610]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить