1

Re: Ошибка при миграции БД с IB на MS SQL

Вот такая ошибка(выкладываю небольшой кусок):

SQL Server Error: SQL State: 22018, SQL Error Code: 0
Invalid character value for cast specification.

===
INSERT INTO OBR_STATE (OBR_STATE_ID, OBR_REF_STATE_ID, NMK_ID, ATTACH_ID, OBR_STATE_FD1, OBR_STATE_FD2, OBR_STATE_D1, OBR_STATE_D2, WORKBENCH_ID, SERIALNUM_ID, BLC_DOCS_ID)
VALUES (:OBR_STATE_ID, :OBR_REF_STATE_ID, :NMK_ID, :ATTACH_ID, :OBR_STATE_FD1, :OBR_STATE_FD2, :OBR_STATE_D1, :OBR_STATE_D2, :WORKBENCH_ID, :SERIALNUM_ID, :BLC_DOCS_ID)

====== Error On SQL
INSERT INTO OBR_STATE (OBR_STATE_ID, OBR_REF_STATE_ID, NMK_ID, ATTACH_ID, OBR_STATE_FD1, OBR_STATE_FD2, OBR_STATE_D1, OBR_STATE_D2, WORKBENCH_ID, SERIALNUM_ID, BLC_DOCS_ID)
VALUES (:OBR_STATE_ID, :OBR_REF_STATE_ID, :NMK_ID, :ATTACH_ID, :OBR_STATE_FD1, :OBR_STATE_FD2, :OBR_STATE_D1, :OBR_STATE_D2, :WORKBENCH_ID, :SERIALNUM_ID, :BLC_DOCS_ID)

OBR_STATE_ID = 315
OBR_REF_STATE_ID = 15
NMK_ID = {NULL}
ATTACH_ID = {NULL}
OBR_STATE_FD1 = 12.12.2006 07:30:00
OBR_STATE_FD2 = 13.12.0106 07:30:00
OBR_STATE_D1 = 08.12.2006 07:30:00
OBR_STATE_D2 = 16.12.2006 16:30:00
WORKBENCH_ID = 403
SERIALNUM_ID = 330
BLC_DOCS_ID = {NULL}

......

Подскажите пожалуста, что не так, дата вроде в порядке

2

Re: Ошибка при миграции БД с IB на MS SQL

Вобщем ошибка из -за этого
NMK_ID = {NULL} как мы поняли

3

Re: Ошибка при миграции БД с IB на MS SQL

Покопавшись, мы поняли что данная запись относиться к Состояниям.
OBR_STATE_ID - идентификатор данного состояния
OBR_REF_STATE_ID - идентификатор типа состояния
NMK_ID = {NULL} ???
ATTACH_ID = {NULL} ????
OBR_STATE_FD1 - плановое начало
OBR_STATE_FD2 - плановое окончание
OBR_STATE_D1 - реальное начало 
OBR_STATE_D2 - реальное окончание
WORKBENCH_ID ???
SERIALNUM_ID - идентификатор серийного номера
BLC_DOCS_ID - идентификатор расчетного документа, возможен {NULL}

При изучении TCS API я узнал, что интерфейс Состояний не содержит прямой ссылки на идентификатор номенклатуры. А содержит только
.Properties("SERIALNUMBER_ID").AsInteger
.Properties("ID").AsInteger
.Properties("SNUMSTATE_ID").AsInteger
.Properties("SNUMSTATE_NAME").AsString
.Properties("SNUMSTATE_NOTE").AsString
.Properties("PLAN_START_DATE").AsDate
.Properties("PLAN_END_DATE").AsDate
.Properties("FACT_START_DATE").AsDate
.Properties("FACT_END_DATE").AsDate
.Properties("CalculateDocument").AsIDispatch
и идентификатор номенклатуры необходимо вылавливать только через интерфейс серийного номера.

Может быть ошибка в конверторе? Он требует данных, которых нет и не может быть в системе?

Re: Ошибка при миграции БД с IB на MS SQL

В какой версии ТКС делаете миграцию?
какая версия IB? 
какая версия MS?
на IB бакап ресторе проходит нормально?

Re: Ошибка при миграции БД с IB на MS SQL

OBR_STATE_FD2 = 13.12.0106 07:30:00 
MS воспринимает даты гдето с 1700 какого не помню года.