powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка конвертирования БД из MS SQL на Sybase
15 сообщений из 15, страница 1 из 1
Ошибка конвертирования БД из MS SQL на Sybase
    #32731987
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/127789
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32732295
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в полях TEXT. Если их в приемнике (sybase table) заменяю на varchar(4000), конвертятся все записи без ошибок.

Может, есть какая-то команда или опция управления мемо-полями или их загрузкой в память?

Кто-н может рассказать, как Sybase (ASE 12.5.03) сервер работает с text-полями?
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32732537
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, так же, как и MSSQL.
Что более конкретно интересует?
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32732737
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MasterZiv
интересует то, что может иметь отношение к размерам, выделяемым по умолч. для text-поля, его загрузки в память - когда это происходит, а также не являются ли все text-поля в таблице отдельным "объектом" (см. ошибку)
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32732844
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В какой-такой памяти ?
Все текст-поля в отдельной таблице являются одним и тем же полем разных записей этой таблицы. Никаких размеров, выделяемых по умолчанию, не существует - сколько нужно, столько и выделят.
Собственно, все так же, как и в MSSQLServer, если ты знаешь, как там.
Единственное, в ASE переменные типа text не могут быть параметрами процедур, а в MS - могут.
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32733040
_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ASE при закачке для мемо полей используется размер 32кб, в bcp для борьбы с этим есть параметр -T.

When you copy out text or image data, Adaptive Server, by default, copies only
the first 32K of data in a text or image field. The -T text_or_image_size
parameter allows you to specify a different value. For example, if the text field
to copy out contains up to 40K of data, you can use the following command to
copy out all 40K:
bcp pubs2..publishers out -T40960

Не совсем понял как именно закачиваются данные, но возможно проблема связана с этим.
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32733041
_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К insert это отношения не имеет, там все выделяется динамически.
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32733547
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная мысль (может кто подтвердит или опровергнет):
Конвертация таблицы из 300 000 записей начинает экспортироваться, и даже успеват закачать на Sybase сервер n-записей (по попыткам - 1 раз - 10780 шт., 2-й - 76025, 3-й - 44224, но не все!;) - и потом указанная ошибка "Требуется запустить объект". А другая таблица из 237000 записей вчера вечером прошла вся...

Похоже, это связано с работой сервера в момент закачки - выделением памяти, открытием объектов, кэшем ИЛИ УЖ ЧЕМ НЕ ЗНАЮ!

Какие есть настройки на сервере Sybase, которые на это могут влиять?
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32733879
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey TsКакие есть настройки на сервере Sybase, которые на это могут влиять?

Поведай нам, как ты это делаешь, подробнее. Никаких настроек нет. Ну разве что ты положил таблицу или только текстовое поле на отдельный сегмент и там кончилось место. Но тогда ты бы скорее всего об этом знал и не задавал бы эти вопросы. Описываемые тобой "аномалии" могут возникать при ошибках данных - одни данные заливаются, другие - нет.
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32733909
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упрощенно...
MS SQL 2000 Import/Export Wizard:
1. Source - MS SQL OLE DB Сервер1
2. Destination UDL - Sybase ASE OLE DB Provider Сервер2, логин, пароль
3 Select table для экспорта...
4. Запуск
...
Пошло копирование...1000,2000,3000,... n - Возникла ошибка (см файл):

ИНТЕРЕСНО, что вчера таблица из 237000 записей конвертилась без этой ошибки только с четвертого раза (при этом настройки НЕ менялись!)
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32734138
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не могу тебя проконсультировать по поводу этого визарда в MSSQL - это к тем, которые MSSQL используют.
Но я подозреваю, что все гораздо проще - оно там хочет какой-то объект создать, видимо, при работе этого OLEDB провайдера, и не может.
Ты не хочешь просто BCP попробовать ?
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32734143
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую. просто я с BCP еще не работал, придется покопаться...
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32734149
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там тоже с BLOB-ами непросто будет. Надо будет форматный файл писать.
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32734159
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это слишком геморно. лучше я преобразую text в varchar(8000) на время конвертирования, а потом верну
...
Рейтинг: 0 / 0
Ошибка конвертирования БД из MS SQL на Sybase
    #32751119
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение (точнее, обход проблемы конвертирования)
8-0 (уффф- 2 недели возился)

Проблема возникает при переносе БОЛЬШОГО кол-ва строк в таблице, содержащей поле text
1. Модифицировал на sybase все такие таблицы (где > 1000 записей) с полями text с макс. длиной данных < 1800 в varchar(1800)
2. При запуске Import/Export Wizard НЕ ПЕРЕНОШУ данные непосредственно на Sybase, а создаю DTS-пакет
3. Правлю пакет:
а) перед каждым переносом в таблицы с identity column добавляю "Execute SQL Task", где устанавливаю SET IDENTITY_INSERT <TABLE> ON (грабля - для Sybase установка этого флага в Import/Export Wizard не работает!!!)
б) перенос самой большую таблицу с полем text разбил на 3 этапа:
- сначала конвертить в основную таблицу все записи с DATALENGTH(text_column)>1800 (их порядка 1000 шт.),
- затем остальные записи переношу в дополн. временную таблицу TMP_TABLE такой же структуры,(но с полем text_column типа varchar(1800)) потом добавляю в доп. таблицу колонку text_column2 типа text и делаю UPDATE TMP_TABLE SET text_column2=text_column (ибо еще одна грабля - в Sybase ASE не работает вставка из varchar(1800) в text !!!)
- делаю INSERT INTO TABLE (...) SELECT ... FROM TMP_TABLE
- DROP TABLE TMP_TABLE
4. Запуск DTS - часа на 3 !!!

Всем спасибо за участие. Помогла идея о разделении таблиц на более мелкие части + раскопки.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка конвертирования БД из MS SQL на Sybase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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