Re: переход с Interbase на MS SQL server

Длительное время раболи в Interbase в CSDNMigrate нормально проходили бэкап и ресторе. теперь при попытке ресторнуть в MS SQL 2000 sp3 выдает

dbExpress Error: Unknown Error Code '127'

что делать?

Re: переход с Interbase на MS SQL server

Полную информацию пожалуйста, версии и т.п.

Re: переход с Interbase на MS SQL server

WIN 2000 serv
TechnologiCS 4.6.3
IB 5.6 (щас работаем, бэкапы с него)
MS SQL 2000 sp 3 (на него хочу перейти)
CSDNMigrate ессно с диска TechnologiCS 4.6.3.

делал обычный ресторе. в окошке где обычно проходят коментарии о ходе работы первой выходит строчка "dbExpress Error: Unknown Error Code '127'"
(ресторе без файлового сервера, да и в бекап я файлы не сохранял)
т.е. ошибка не в процессе ресторе а сразу после ввода паролей и т.п.

Re: переход с Interbase на MS SQL server

Возможная причина в том, что в системных требованиях стоит 4-й сервиспак, и с сервиспаком 3 не тестировалось.
Но больше похоже на проблемы настройки SQL сервера.
Попробуйте с MSDE который есть на дистрибутивном диске.
и посмотрите версию и дату файла dbexpmss.dll который должен(обязан) быть в папке запуска программы миграции.

Re: переход с Interbase на MS SQL server

MSDE попробую
dbexpmss.dll - 26 мая 2006 г., 13:24:16 размер 125 КБ (128 000 байт)

Re: переход с Interbase на MS SQL server

Буду ждать результатов с MSDE
И неплохо бы еще посмотреть версию dbexpmss.dll.
Дата отличается, но это скорее из за перекопирования при записи диска.

Re: переход с Interbase на MS SQL server

И неплохо бы еще посмотреть версию dbexpmss.dll.

на CD с которого я копировал
27 февраля 2004 г., 22:02:00

Re: переход с Interbase на MS SQL server

заработало начали создаваться таблицы.. в процессе появиласть ошибка:

SQL Server Error: SQL State: 22018, SQL Error Code: 0


===
INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT)
VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT)

Re: переход с Interbase на MS SQL server

Исходная ошибка связана с SQL сервером, а вот новая, с невозможностью записи данных, наверняка связана с некорректной датой.
Аналогичные проблемы уже встречались, на IB вводилась дата  205 год вместо 2005, т.е. ошибка оператора.
IB это воспринимал нормально, а MS ругается.
Чтобы уточнить и выяснить где это, возмите новый
https://forum.technologics.ru/docs-hz/CSDNMigrate.zip
у него расширеная диагностика.

please-change-link

Re: переход с Interbase на MS SQL server

вот с новой

SQL Server Error: SQL State: 22018, SQL Error Code: 0


===
INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT)
VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT)

====== Error On SQL
INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT)
VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT)

BLDOC_ID = 141
BLDOC_NUMBER = 145/231
BLDOCTYPE_ID = 1
BLDOC_DATE = 01.12.0196 00:00:00
BLDOC_STATE = 0
BLDOC_COMMENT = ЗАВ.№6
CONTRAGENT_ID = 19
CEHA_ID_PLUS = 157
CEHA_ID_MINUS = {NULL}
WORKMAN_ID_PL = 26
WORKMAN_ID_MIN = {NULL}
CREATOR = 1151
CREATE_DATE = 20.05.2005 10:04:35
CHANGER = 1151
CHANGE_DATE = 06.06.2005 15:49:07
BLDS_ID = 2
BLDOC_NAME = Акт приема-передачи основных средств
BLDOC_YEAR = 196
BLDOC_PREF = 145/
BLDOC_PREFCNT = 231
========Call Stack
.RestoreTables
.RestoreTable
.ExecuteQuery
========Last 10 Succes SQL
...................

ошибка в дате как я понимаю "BLDOC_DATE = 01.12.0196 00:00:00" ?
зашел в TechnologiCS исправил дату документа (учетного).
сделас bakup в interbase
при попытке restore ошибка осталась
что делать ?

Re: переход с Interbase на MS SQL server

Смотрите внимательней, наверняка это уже другая запись. Ориентироваться можно по первому полю, в данном случае это BLDOC_ID = 141
Такая ошибка может быть и в других таблицах.
Естественно процесс долгий и неблагодарный.

Чтобы вычислить все подобные записи на конкретной таблице можно сделать такой запрос - SELECT * FROM BLDOCS WHERE BLDOC_YEAR < 2000

Исправляйте в IB пока такой селект будет не пустой.
После этого бакап из IB и ресторе в МС.
Если появится аналогичное на другой таблице соответственно правьте её.
И продолжайте так пока не исправите всё.

Re: переход с Interbase на MS SQL server

выудил 2 записи


141   145/231   1   01.12.0196   0   ЗАВ.№6   19   157      26      1151   20.05.2005 10:04:35   1151   06.06.2005 15:49:07   2   Акт приема-передачи основных средств   196   145/   231
761   /738   1   01.11.0972   0   ЗАВ№114   32   157      26      1151   06.06.2005 9:55:51   1151   06.06.2005 15:45:34   2   Акт приема-передачи объекта основных средств   972   /   738

изменить не дает, ссылается что нельзя изменить оприходованыый документ (разоприходование из TCS проблемы не снимает). изменение даты в TCS ниче не дает, дата странным образом остается старой. (хотя в интерфейсе TCS дата меняется, а в БД старая остается):(

Re: переход с Interbase на MS SQL server

Сделайте для каждой записи вот такое обновление:
UPDATE BLDOCS SET
BLDOC_DATE = '12/10/2006',
BLDOC_YEAR = '2006'
WHERE BLDOC_ID = 141

UPDATE BLDOCS SET
BLDOC_DATE = '11/01/2006',
BLDOC_YEAR = '2006'
WHERE BLDOC_ID = 761

Только даты поставьте нужные вам и обратите внимание что дату надо подставлять в формате - 'MM/DD/YYYY' т.е. Месяц/День/Год

Кроме того выполнять обновления нужно подключившись к базе с именем соответствующим идетенфикаторам пользователей TCS

т.е.
1. Подключаемся к базе как SYSDBA
2. SELECT * FROM USERS
3. Выбираем нужного пользовател, например "Администратор"
4. Смотрим первое поле USER_ID и запоминаем число
5. Отключаемся от базы и подключаемся снова но вместо SYSDBA вводим в качестве имени запомненое число, естественно нужно знать пароль выбранного пользователя.
6. Делаем обновления

Re: переход с Interbase на MS SQL server

сначала выходит ошибка

Statement failed, SQLCODE = -836 

потом

exception 98
-Нельзя изменить оприходованный документ!

что будет если снять ограничения, поправить и потом вернуть ограничения, ничего криминального не будет.

просто хочется чтобы все было правильно

Re: переход с Interbase на MS SQL server

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

Re: переход с Interbase на MS SQL server

Разоприходуйте все документы потом меняйте даты
если этого не сделать неправильно будут считаться остатки на дату!

Re: переход с Interbase на MS SQL server

Сергей Киви писал(а):
Снимите, только потом не забудьте вернуть, и исправляйте только даты.
А после конвертации постарайтесь проверить не возникло ли проблем с оприходованием в связи с изменением даты.
Человек, который мог бы точнее сказать про эти проблемы, сейчас отсутствует.
По крайней мере рекомендую отработать технологию на копии базы, прежде чем делать окончательный переход.


и еще впрос, даты меньше какой являются ошибочными ?
у мня в базе есть документы с датой 1960 (введение какого-то оборудования который еще работает)

Re: переход с Interbase на MS SQL server

1 января 1753 года

Re: переход с Interbase на MS SQL server

Андрей Беньков писал(а):
Разоприходуйте все документы потом меняйте даты
если этого не сделать неправильно будут считаться остатки на дату!


:shock: 6000 документов из низ 2-3% должны остаться не оприходованными, они ж перепутаются

Re: переход с Interbase на MS SQL server

Можно из TCS отфильтровать документы с неправильной датой
разоприходовать поправить дату оприходовать

Re: переход с Interbase на MS SQL server

Может кто подскажет.
При переходе на MSDE SP3 c IB 5.6
выскакивае сообщение SQL State 42000 Error Codde 18452.
TCS 4.6.3.
Конвертация не идет.

Re: переход с Interbase на MS SQL server

Сергей Коновалов писал(а):
При переходе на MSDE SP3 c IB 5.6
выскакивае сообщение SQL State 42000 Error Codde 18452.
TCS 4.6.3.

А поподробней? В какой момент возникает и что в полном сообщении об ошибке?

Re: переход с Interbase на MS SQL server

Ошибка возникает в окне "Операция завершена."
Расширенной информации нет
только SQL State 42000 Error Code 18452 (null)

Re: переход с Interbase на MS SQL server

поиск выдает , что эта ошибка связана с SQL Server and Windows Authentication 
т.е. на нашем  форуме https://forum.technologics.ru/viewtopic.php?id=445  пункт №3, рис.2
но как это проверить на MSDE без SQL Server's Enterprise Manager может кто подскажет?

Re: переход с Interbase на MS SQL server

Спасибо за ссылочку. 
А кто-нибудь разворачивал MSDE?
Я почитал мануал, вроде как какие-то опции там можно выставить при инсталляции. Может разработчики подскажут козырную инсталляционную строчку?;-)