powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите девушке
55 сообщений из 55, показаны все 3 страниц
помогите девушке
    #32024461
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каким образом я могу использовать DTS для преобразования базы данных из кодировки 1251 в 866 или наоборот?
Возможно ли это?
...
Рейтинг: 0 / 0
помогите девушке
    #32024484
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать DTS для преобразования базы данных
Объясните смысл слов "преобразование базы данных". Что во что преобразуется ? Таблицы в таблицы ? Таблицы во внешние файлы ? Тогда какие ?
...
Рейтинг: 0 / 0
помогите девушке
    #32024487
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется база в кодировке 866 надо перекодировать её в кодировку 1251 под другим именем на томже сервере
...
Рейтинг: 0 / 0
помогите девушке
    #32024501
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай - какой у Вас collation на исходной базе?
...
Рейтинг: 0 / 0
помогите девушке
    #32024515
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Collation Name: Cyrillic_General_Bin,
данные в базе хранятся в кодировке 866 надо их перекодировать в 1251(кодировка и сортоировка по-моему разные понятия?)
...
Рейтинг: 0 / 0
помогите девушке
    #32024516
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Collation Name: Cyrillic_General_Bin,
данные в базе хранятся в кодировке 866 надо их перекодировать в 1251(кодировка и сортировка по-моему разные понятия?)
...
Рейтинг: 0 / 0
помогите девушке
    #32024519
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте
Перенос 7.0->2000 проблема с Collations
может поможет?
На всякий случай перед экспериментами с базой сделайте полный бекап и потренируйтесь в восстановлении, чтобы быть уверенной, что при самом плохом раскладе сможете вернуться к корыту.
Кстати, мысль!
Попробуйте сделать новую базу с нормальным (нужным) collation и использовать Copy Database Wizard. Может быть это будет самым лёгким (- негеморройным, простите) способом.
...
Рейтинг: 0 / 0
помогите девушке
    #32024523
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C порядком сортировки в базе всё нормально. Это бинарная сортировка, соответствующая старшенству символов в таблице символов. Проблема заключается в перемене не сортировки, а кодирровки символов. Может кто подскажет рецепт?
...
Рейтинг: 0 / 0
помогите девушке
    #32024537
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В collation нет такой кодировки - 866.
Я думаю, преобразовать можно только через клиента.
Например, сделать DTS для перекачки в текстовые файлы, напустить перекодировщик, и сделать DTS для перекачки обратно.
...
Рейтинг: 0 / 0
помогите девушке
    #32024548
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже не знаю про кодировку 866 в MSSQL.
Посмотрите, пожалуйста, в свойствах базы какой collation стоит.
Collation применяется не только при сортировке, но и при отображении неUnicodных символов. Если типы данных не nvarchar, nchar, то это тот случай.
...
Рейтинг: 0 / 0
помогите девушке
    #32024553
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как все непросто!
...
Рейтинг: 0 / 0
помогите девушке
    #32024556
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такого collation я тоже не знаю
...
Рейтинг: 0 / 0
помогите девушке
    #32024557
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через BDE эта проблема разрешается довольно просто. Однако меня интересует возможность конвертации средсвами MS SQL.Предполагаю что такая возможность существует, но каким образом она реализована???
...
Рейтинг: 0 / 0
помогите девушке
    #32024560
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, пожалуйста, уважаемая olga, скажите какой collation стоит сейчас на базе с 866 кодировкой, это очень интересно. Я не шучу.
...
Рейтинг: 0 / 0
помогите девушке
    #32024566
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrillic_General_Bin
...
Рейтинг: 0 / 0
помогите девушке
    #32024567
Michael+Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 KonstN & alexeyvg
866 - наследство от 6.5, если не ранее

2 olga
Здесь еще ни разу не прозвучал ответ на подобный вопрос. Либо ответа нет, либо табу . Вам еще повезло, что с Вами так долго общаются на эту тему.
...
Рейтинг: 0 / 0
помогите девушке
    #32024573
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, вот уже лучше.
Раз нет префикса SQL, значит это Windows collation.
Если посмотреть в BOL, то в статье "Windows Collation Designators" видно, что для Cyrillic кодовая страница 1251.
Очень странно.
А попробуйте выгрузить при помощи bcp какую-нибудь табличку и скажите явно кодовую страницу (ключ -С), а потом посмотрите в каком случае выгрузится правильно.
И не пробовали сделать как я написал через Copy Database Wizard?

2Michael+Hopgarden
Ни разу не слышал про 866, даже в 6.0
...
Рейтинг: 0 / 0
помогите девушке
    #32024579
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это Windows Collation - и выгрузка данных через bcp и через что угодно выгружат их в кодировке 1251, но отображает их некорректно ибо иммено так они и хранятся в базе. Если открыть текстовый файл и указать редактору кодировку 866 - отобразится всё корректно. Но меня интересует каким образом можно указать DTS-у преобразовать кодировку данных при преносе в другую базу?
...
Рейтинг: 0 / 0
помогите девушке
    #32024587
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может существует решение через SQL DMO???
...
Рейтинг: 0 / 0
помогите девушке
    #32024592
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL DMO, по-моему, тут вообще не при чём - оно предназначено для работы со структурой базы и т.п., то есть является некоей заменой (или интерфейсом к) DDL.
...
Рейтинг: 0 / 0
помогите девушке
    #32024595
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не заметил предыдущего постинга, сорри.
Можно, скорее всего, использовать WinAPI функцию OemToAnsi.
...
Рейтинг: 0 / 0
помогите девушке
    #32024599
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как?
...
Рейтинг: 0 / 0
помогите девушке
    #32024601
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давай сначала попроще.
Если создаёшь DTS Package, то тип файла (в Properties) для Text File (Destination) какой проставляешь? ANSI?
...
Рейтинг: 0 / 0
помогите девушке
    #32024603
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если ставлю ANSII при просмотре в 866 всё OK
...
Рейтинг: 0 / 0
помогите девушке
    #32024607
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во вкладке "transformation" есть возможность отредактироватть поля, но это представляется столь малохудожественным, что непредставляется выполнимым именно всилу неуверсальности решения. Где же Рыцарь?
...
Рейтинг: 0 / 0
помогите девушке
    #32024615
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не Рыцарь. Мне просто сейчас делать нечего.

Olga, Вам можно позавидовать. По кол-ву откликов Вы вполне можете соперничать c соседней волной душевного стриптиза под названием "Достал SQL". Так что в плане фидбэка женский ник, безусловно, эффективен. Особенно по весне.
Теперь по делу. 1.Советы относительно AnsiToOEM годятся только для 6.5 и раньше, когда bcp юзала DBLib. 2.Люди, говорящие про collation, по-моему, вообще не понимают, чем nchar отличается от char. 3.Я тоже не понимаю одну вещь: почему возник этот вопрос, п.ч. на моей памяти DTS всегда конвертила таблицы из одной кодировки в другую корректно. Единственный глюк был в 7.0, когда данные переносились нормально, а DTS Object Transfer дурил, невзирая на опцию Auto Translate. Но это было пофиксено еще в SP2 к семерке, не говоря уже о 2000. Вы интересуетесь чисто абстрактно или действительно во что-то уперлись?
...
Рейтинг: 0 / 0
помогите девушке
    #32024630
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Завидовать кол-ву откликов это несовсем логично. Лично меня интересует только качество получаемых ответов. Задача вцелом решается стороним приложением без проблем и вообщем не стоит и выеденного яйца. Но у меня проблема в том что необходимо организовать репликацию с N серверов на которых базы находятся в кодировке 866 (вернее хранятся), а целевая база должна быть в кодировке 1251. Выполнить репликацию, а затем транслировать целевую базу в другую кодировку очень проблематично всилу ее большого объёма и оганичений по ресурсам сервера (железа). Всилу этого интересует вопрос каким образом пересоздать базы на источниках при помощи DTS (ведь его можно запускать ночью по эаданию когда машины свободны), но в нужной кодировке. Делать это при помощи стороннего проиложения очень непросто всилу наличия ещё больших железных проблем на других сереверах и в сети.
...
Рейтинг: 0 / 0
помогите девушке
    #32024642
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> пересоздать базы на источниках при помощи DTS (ведь его можно запускать ночью по эаданию когда машины свободны), но
>> в нужной кодировке...

Немного я не уловил суть высказывания - вы это каждой ночью собираетесь проделывать? Или же все-таки - 1 раз превернете кодировку на источниках и забудете про эти "проблемы"?
Если второе, то - как вариант:
- создаете пустую БД с нужной вам кодировкой;
- скриптуете все объекты в "старой" базе (например, тем же DMO);
- этими скриптами создаете нужную структуру в "новой" базе;
- грузите данные из "старой" базы в "новую" (хоть через Linked Servers).

З.Ы. Подозреваю, что "Copy Database Wizard" - делает то же самое... но как известно - "сапог в бою надежней"...
© "В бой идут - одни старики".
...
Рейтинг: 0 / 0
помогите девушке
    #32024643
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это необходимо делать регулярно -по расписанию запускать DTS
...
Рейтинг: 0 / 0
помогите девушке
    #32024647
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Дед Маздай
> 1.Советы относительно AnsiToOEM годятся только для 6.5 и раньше, когда bcp юзала DBLib.
Можно узнать почему? Мне кажется AnsiToOem (или, простите, CharToOem в Win32) не относится к той или иной версии SQL Server - это просто функции перекодировки из ANSI кодировки в OEM.

> 2.Люди, говорящие про collation, по-моему, вообще не понимают, чем nchar отличается от char.
И здесь тоже, просветите сирых и убогих про collation. Потому что про юникодную кодировку olga ни слова не говорила.

2 Olga
Насчёт пресловутой OemToChar признаюсь, что-то не получилось - не смог я пока заставить её в VBScriptе работать, а времени разбираться нет пока.
Всё-таки попробуйте просто втупую перегнать Copy Database Wizardом в другую базу с установленным нужным collation.
...
Рейтинг: 0 / 0
помогите девушке
    #32024649
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это Windows Collation - и выгрузка данных через bcp и через что угодно выгружат их в кодировке 1251, но отображает их некорректно ибо иммено так они и хранятся в базе. Если открыть текстовый файл и указать редактору кодировку 866 - отобразится всё корректно. Но меня интересует каким образом можно указать DTS-у преобразовать кодировку данных при преносе в другую базу?
...
Рейтинг: 0 / 0
помогите девушке
    #32024658
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну можно на выгруженные данные натравить перекодировщик из OEM в ANSI.
Но как это сделать на лету в DTS я пока не знаю.
Продолжим изыскания чуть позже.
...
Рейтинг: 0 / 0
помогите девушке
    #32024660
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это надо делать налету и я тоже не знаю как
...
Рейтинг: 0 / 0
помогите девушке
    #32024662
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> выгрузка данных через bcp и через что угодно выгружат их в кодировке 1251...
>> Если открыть текстовый файл и указать редактору кодировку 866 - отобразится всё корректно...

Чем дальше я все это читаю, тем больше ничего не понимаю...


"Выгрузка через bcp" - ничего не может сказать о хранимых данных, т.к. bcp суть утилита для командной строки, а у мелко-мягких все эти утилиты выводят все на STDOUT - именно в кодировке 866 ("обратная совместимость" называется).
"через что угодно" - это как правило, на практике, различные "клиенты", цепляющиеся к серверу по ODBC, или OLEDB - так у них у всех параметры драйвера по-умолчанию установлены в - Perform translation for character data = Yes (он же - "AutoTranslate=Yes" в ConnectionString), т.е. - все что отдается клиенту уже должно быть перевернуто в 1251.

В одном из этих случаев - ваши выгруженные файлы должны читаться редактором как 866, а в другом - как 1251, но к кодировке хранения - это не имеет никакого отношения...

Кстати, по поводу параметра AutoTranslate - может попробуете "натравить" DTS на ODBC-источник, а уже в нем (источнике) - переключите пару раз этот параметр в Yes/No, да и будете знать ответ - работает оно так как надо, или нет?

(у меня просто сейчас "под боком" нет 7-рки с DTS-ом).
...
Рейтинг: 0 / 0
помогите девушке
    #32024665
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ODBC стоит ANSI to OEM, а надо наоборот и кроме того к кодировке хранения (Cyrillic_General_Bin)- это не имеет никакого отношения...
...
Рейтинг: 0 / 0
помогите девушке
    #32024673
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно узнать как туда данные были запихнуты в 866 кодировке?
...
Рейтинг: 0 / 0
помогите девушке
    #32024677
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложение использует именно эту (866)кодировку и хранит их в базе именно в 866-ой кодировке (OEM)
...
Рейтинг: 0 / 0
помогите девушке
    #32024713
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, чем больше я вас читаю, тем больше убеждаюсь, что либо вы топчетесь вокруг пустой проблемы, которая яйца ломаного не стоит, либо я чего-то не понимаю в этой жизни. Последнее вероятней. Тем не менее рискну изложить свое видение на проблему, как я ее понимаю, и, соответственно, как бы я ее стал решать.
Итак, забудем про кодировки. Есть сервера А и Б. С А нужно отреплицировать данные на Б, применив к ним по дороге какое-то пользовательское преобразование, которое можно описать в терминах VBScript или JavaScript.
На сервере А создаем новую публикацию, предварительно отметив Show advanced options. На этапе Transform Published Data говорим Yes. Все остальное - обычным чередом. После этого из контекстного меню созданной публикации выбираем Define transformation of published data. В кач-ве назначения выбираем сервер Б и ту базу на нем (ббб), куда идет тиражирование. На следующем этапе определяем трансформации публикуемых данных идентично DTS, напр., DTSDestination("CompanyName") = UCase(DTSSource("CompanyName")). Здесь вы прописываете свое хитрое преобразование. Сохраняем получившийся DTS-пакет ааа как локальный на дистрибуторе. Создаем подписку (допустим, push), отмечая Show advanced options. Выбираем сервер-подписчик (Б) и базу на нем (ббб). На этапе Specify DTS Package выбираем пакет ааа на дистрибуторе. Абзац.
...
Рейтинг: 0 / 0
помогите девушке
    #32024732
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед, а ты молодец
Только напиши что в DTS Package надо написать.
UCase не канает
Я вот уже долго вожусь - проблема заинтересовала. Таки смоделировал ситуацию: в таблице лежит значение в 866. Как его перекодировать в пекедже пока не знаю - там VB(J)Script, и не все функции работают из WinAPI.
...
Рейтинг: 0 / 0
помогите девушке
    #32024736
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В VBS есть
"AscW is provided for 32-bit platforms that use Unicode characters. It returns the Unicode (wide) character code, thereby avoiding the conversion from Unicode to ANSI."

Поможет ?
...
Рейтинг: 0 / 0
помогите девушке
    #32024738
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всё-таки победил через DTS! ))
Чувствовал кое-чем, что истина где-то рядом.
В общем идея такая. Нужно сделать две Transform Data Task. Первая - из исходной базы в текстовый файл, файл обозвать ANSI(!). Вторая - из текстового файла в базу куда надо, но сказать, что файл (тот же самый, разумеется) уже OEM(!). Кроме того, связать обе этих задачи Workflow по Completion, а то наверно первая задача не успевала файл закрыть - вторая падала.
Вот )) Горд как лев. Всё делается за две минуты.
С наступающим 8 марта, olga.
...
Рейтинг: 0 / 0
помогите девушке
    #32024761
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо я все-таки чего-то не понимаю, либо Вы по-прежнему пытаетесь изыскать самый дорогой способ определения постоянной Планка.
Итак, вспомним про перекодировки.

"Только напиши что в DTS Package надо написать. UCase не канает...."
Я почти уверен, что в пакете ничего писать не надо. DTS корректно определяет кодовые страницы источника и назначения и соответствующим образом преобразует символьные данные при переносе. Поскольку проверять мне это сейчас в лом, то рассмотрим на всякий пожарный запасную ситуацию:

"Как его перекодировать в пекедже пока не знаю - там VB(J)Script, и не все функции работают из WinAPI."
Оберните вызов oemtoansi в СОМ-объект, зарегистрируйте на сервере и дерните из VBScript. Все равно будет быстрее, чем Ваше преобразование через промежуточный текстовый файл.

"Дед, а ты молодец..."
Спасибо за лестный отзыв, только Ваше мнение меня... Ну, примерно, как Вас UCase.
...
Рейтинг: 0 / 0
помогите девушке
    #32024762
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черт, склероз. Всех здешних девушек с праздником. Заходите почаще - я, может, побреюсь и галстук повяжу. Хотя нет, конечно, это вряд ли.
...
Рейтинг: 0 / 0
помогите девушке
    #32024816
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в свою очередь оценил Ваш ответ, уважаемый Дед.

>Я почти уверен, что в пакете ничего писать не надо.
Вот в этом "почти" и всё дело.

>DTS корректно определяет кодовые страницы источника и назначения и соответствующим образом преобразует символьные данные при переносе.
Каким, простите, образом DTS определит, что там 866, а не 1251? Чем они отличаются с точки зрения нулей и единичек?

>Поскольку проверять мне это сейчас в лом,
А надо было бы Вам проверить, иначе получается пустой трёп.

Пожарная ситуация с обёртыванием функции WinAPI в COM-объект работает, но только это надо уметь делать, да и времени это потребует больше, чем мой убогий способ конвертации через текстовый файл.
Извините, что потревожил Вашу тонкую натуру (судя по ссылке в данном постинге на постоянную Планка). Постараюсь больше не нарушать Ваше спокойствие и, конечно же, не высказывать своё мнение о Вас. Ещё раз прошу простить меня, недостойного.
...
Рейтинг: 0 / 0
помогите девушке
    #32024833
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 KonstN на:
>> Пожарная ситуация с обёртыванием функции WinAPI в COM-объект работает, но только это надо уметь делать, да и
>> времени это потребует больше, чем мой убогий способ конвертации через текстовый файл...

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

(я только сейчас начал догадываться, в чем соб-с-но, "проблема", да и то - не совсем уверен до конца... как в том фильме: "Так это что - Ленинград??!! Вот это вот - город на Неве??!!", т.е. - данные изначально попадали на сервер в кодировке 866 и никакие Collations тут не причем, т.е. сервер даже и не подозревал о том, что хранит что-то, кроме двоичных кодов альтернативной кодировки?)

М-да... силен русский народ - в выдумывании себе трудностей, и последующем их преодолении...
...
Рейтинг: 0 / 0
помогите девушке
    #32024849
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Collations тут е действительно не причем и сервер даже и не подозревает о том, что хранит что-то, кроме двоичных кодов альтернативной кодировки. И я очень рада что это дошло. И что хотелось бы спросить ещё, написав sql-процедуру, которая получает на входе поле в 866-й перекодирует его в 1251-так это как можно подвязать эту процедуру в DTS, ибо в написании скриптов на VB я не сильна может кто поможет дельным советом?
...
Рейтинг: 0 / 0
помогите девушке
    #32024872
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
8 марта минуло и снова ... истиная природа мужского лицемерия и эгоизма
...
Рейтинг: 0 / 0
помогите девушке
    #32024873
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2olga
IMHO KonstN показал вам очень красивый способ решения(кстати лично от меня спасибо ему за это) без каких-либо дополнительных функций конвертации ANSI<->OEM.
...
Рейтинг: 0 / 0
помогите девушке
    #32024893
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Glory
Спасибо, Glory. Действительно приятна твоя оценка - IMHO, ты имеешь здесь наибольший коэффициент полезности постингов.
2olga
Вам написать компонент-wrapper для функции OemToChar?
А сарказм ни к чему, если Вы просите помощи.
...
Рейтинг: 0 / 0
помогите девушке
    #32024894
sysop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 KonstN
А кто по Вашему в этом раунде слабое звено?
...
Рейтинг: 0 / 0
помогите девушке
    #32024899
KonstN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SysOp
тот, кто постит оффтопик
...
Рейтинг: 0 / 0
помогите девушке
    #32024958
Фотография Chicago
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Относительно перекодировки из CP866 в CP1251:

Ставишь на сервер ActivePerl от ActiveState. После этого ActiveX-скрипт можно писать на Perl. А для этого языка задача перекодировки тривиальна.

sub handle_dos
{
local $_=shift;
tr/\x80-\x9f\xA0-\xAF\xE0-\xEF\xF0\xF1/А-Яа-пр-яЁё/;
$_;
}

$DTSDestination->Item("CompanyName")->{Value}=handle_dos($DTSSource->Item("CompanyName")->Value);

Синтасис, конечно, забавный, но напишите то же самое на VBScript!
...
Рейтинг: 0 / 0
помогите девушке
    #32024974
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А где я могу найти ActivePerl?
Как эта задача может быть решена на Python?
...
Рейтинг: 0 / 0
помогите девушке
    #32025032
Фотография Chicago
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ActivePerl можно скачать с адреса www.activestate.com/Products/Download/Get.plex?id=ActivePerl. Лицензия на интерпретатор свободная, оплаты не требуется. (Там же можно взять ActivePython).

С Python я знаком весьма поверхностно. Поэтому конкретных советов дать не могу. Известно только, что после установки ActivePython можно будет использовать PythonScript для сценариев ActiveX в SQL Server. И что для решения задач понадобятся Питоновские модули re (см. re.sub(...)) и, возможно, string. Однако писанины будет точно не меньше, чем на VB/Java Script. Для той же re.sub придется писать callback-функцию, содержащую длинный-длинный switch/case, который будет ставить в соответствие коду из CP866 код из CP1251. Все таки VBScript, JаvaScript и Python это языки общего назначения, универсальные. А Perl с самого начала предназначался для эффективной обработки текстовой информации.
...
Рейтинг: 0 / 0
помогите девушке
    #32025122
olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через терни к звёздам и всё-таки я благодарна кто помог мне разрешить существующую проблему.
И в завершении я хотела бы спросить кто имеет опыт работы с генераторои отчётов Crystal Reports?
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите девушке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]