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

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

Кто-н может рассказать, как Sybase (ASE 12.5.03) сервер работает с text-полями?
...
Рейтинг: 0 / 0
11.10.2004, 16:06
    #32732537
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
В принципе, так же, как и MSSQL.
Что более конкретно интересует?
...
Рейтинг: 0 / 0
11.10.2004, 16:59
    #32732737
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
2 MasterZiv
интересует то, что может иметь отношение к размерам, выделяемым по умолч. для text-поля, его загрузки в память - когда это происходит, а также не являются ли все text-поля в таблице отдельным "объектом" (см. ошибку)
...
Рейтинг: 0 / 0
11.10.2004, 17:43
    #32732844
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
В какой-такой памяти ?
Все текст-поля в отдельной таблице являются одним и тем же полем разных записей этой таблицы. Никаких размеров, выделяемых по умолчанию, не существует - сколько нужно, столько и выделят.
Собственно, все так же, как и в MSSQLServer, если ты знаешь, как там.
Единственное, в ASE переменные типа text не могут быть параметрами процедур, а в MS - могут.
...
Рейтинг: 0 / 0
11.10.2004, 20:06
    #32733040
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
В 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
11.10.2004, 20:08
    #32733041
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
К insert это отношения не имеет, там все выделяется динамически.
...
Рейтинг: 0 / 0
12.10.2004, 11:35
    #32733547
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Интересная мысль (может кто подтвердит или опровергнет):
Конвертация таблицы из 300 000 записей начинает экспортироваться, и даже успеват закачать на Sybase сервер n-записей (по попыткам - 1 раз - 10780 шт., 2-й - 76025, 3-й - 44224, но не все!;) - и потом указанная ошибка "Требуется запустить объект". А другая таблица из 237000 записей вчера вечером прошла вся...

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

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

Поведай нам, как ты это делаешь, подробнее. Никаких настроек нет. Ну разве что ты положил таблицу или только текстовое поле на отдельный сегмент и там кончилось место. Но тогда ты бы скорее всего об этом знал и не задавал бы эти вопросы. Описываемые тобой "аномалии" могут возникать при ошибках данных - одни данные заливаются, другие - нет.
...
Рейтинг: 0 / 0
12.10.2004, 13:22
    #32733909
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Упрощенно...
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
12.10.2004, 14:27
    #32734138
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Я не могу тебя проконсультировать по поводу этого визарда в MSSQL - это к тем, которые MSSQL используют.
Но я подозреваю, что все гораздо проще - оно там хочет какой-то объект создать, видимо, при работе этого OLEDB провайдера, и не может.
Ты не хочешь просто BCP попробовать ?
...
Рейтинг: 0 / 0
12.10.2004, 14:30
    #32734143
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Попробую. просто я с BCP еще не работал, придется покопаться...
...
Рейтинг: 0 / 0
12.10.2004, 14:31
    #32734149
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Там тоже с BLOB-ами непросто будет. Надо будет форматный файл писать.
...
Рейтинг: 0 / 0
12.10.2004, 14:34
    #32734159
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
это слишком геморно. лучше я преобразую text в varchar(8000) на время конвертирования, а потом верну
...
Рейтинг: 0 / 0
22.10.2004, 17:38
    #32751119
Andrey Ts
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка конвертирования БД из MS SQL на Sybase
Решение (точнее, обход проблемы конвертирования)
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
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Ошибка конвертирования БД из MS SQL на Sybase / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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