Привет.
Возникла такая проблема:
create table T(id int identity(1,1) primary key);
insert into T(id) values(1);
на втором операторе выдается ошибка -2147217900.
Без identity все ok.
Все это через ADO на winCE:
Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;
а это сам вызов:
status = rs->Open(_variant_t(sql), _variant_t(connection), adOpenKeyset, adLockUnspecified, adCmdUnknown);
Посоветуйте что-нибудь. Хочется сохранить identity и писать туда свои значения.
Пока
12.09.03 18:27: Перенесено модератором из 'Базы данных' — AS
Здравствуйте VsevolodC, Вы писали:
VC>Привет.
VC>Возникла такая проблема:
VC>create table T(id int identity(1,1) primary key);
VC>insert into T(id) values(1);
VC>на втором операторе выдается ошибка -2147217900.
VC>Без identity все ok.
VC>Все это через ADO на winCE:
VC>Provider=Microsoft.SQLSERVER.OLEDB.CE.1.0;
VC>а это сам вызов:
VC>status = rs->Open(_variant_t(sql), _variant_t(connection), adOpenKeyset, adLockUnspecified, adCmdUnknown);
VC>Посоветуйте что-нибудь. Хочется сохранить identity и писать туда свои значения.
Посмотрите
SET IDENTITY_INSERT [ database. [ owner. ] ] { table } { ON | OFF }
Allows explicit values to be inserted into the identity column of a table.
в SQL Books online, если это конечно существует в SQL server CE (а что и в правду есть этот зверь на CE? :wow: )
Здравствуйте kig, Вы писали:
kig>Посмотрите
kig>kig>SET IDENTITY_INSERT [ database. [ owner. ] ] { table } { ON | OFF }
kig>
kig>Allows explicit values to be inserted into the identity column of a table.
kig>в SQL Books online, если это конечно существует в SQL server CE (а что и в правду есть этот зверь на CE? :wow: )
SET IDENTITY_INSERT на СЕ не работает :(
Автоинкремент устроил бы, если б был простой способ заменить значения в связанных таблицах,
поскольку мне требуется перевести базу Access с PC на CE.
В обратную сторону таких проблем нет.
А>SET IDENTITY_INSERT на СЕ не работает
а тригеры там есть?
тогда
1. убери Identity
2. создай некую функцию, которая будет возвращать уникальные значения
3. сделай тригер на INSERT и проверяй, если есть попытка вставить запись без значения ID, то брать значение из функции п.2.