Вопрос по счетчика (подавление ошибки при добавлении нов. записи)

gary2
Дата: 10.10.2003 12:47:14
Господа !! прошу помощи !!
Есть связанная таблица на клиенте (ms acces) с полем счетчика
как можно добавить новую запись в таблицу (ms sql) с значением в поле счетчика
iSestrin
Дата: 10.10.2003 12:54:29
если "(ms acces)" имеется в виду .MDB, то он сам выставляет set identity_insert ...
gary2
Дата: 10.10.2003 13:10:40
а если acces 97 ?
iSestrin
Дата: 10.10.2003 13:15:06
кажется тоже ... но уже не помню ... на самом деле это должно происходить на уровне одбс, так что версия может быть не при чем

а что за ошибка и в какой ситуации?
кстати, есть акцессный форум, там лучше подскажут ...
Дуся
Дата: 10.10.2003 13:33:59
Причем тут аксесный форум? Вставка-то вроде в МС..
читаем BooksOnLine:

SET IDENTITY_INSERT [ database. [ owner. ] ] { table } { ON | OFF }

Allows explicit values to be inserted into the identity column of a table


Мораль - вызываем перед вставкой в той же сессии.
(Потом обратно можно).
iSestrin
Дата: 10.10.2003 13:39:52
еще раз: акцесс это делает САМ!

кстати, вопрос не в этом, вопрос в ошибке, а что за ошибка и в какой ситуации - пока не понятно...
gary2
Дата: 10.10.2003 13:57:30
Необходимо выполнить запрос на клиенте (ms acces 97) INSERT INTO Договора ( Код, Наименование, НомерДок ) SELECT 2132 , "Основной", "1" // запрос на добавление на клиенте / !!!

где табл. Договора связанная с сервером (ms sql 2000)
Пишет -- добавить немогу - нарушение ключа ///а в acces 2000 работает

Каким образом можно передать серверу SET IDENTITY_INSERT (может в тригере прописать ?)
pkarklin
Дата: 10.10.2003 14:01:40
Если ошибка соответствует действительности, то ты пытаешься вставить повторяющийся ключ. Посмотри профайлером, какие инструкции Access отправляет на сиквел и сразу станет все понятно.
iSestrin
Дата: 10.10.2003 14:12:14
хм, проверили, действитель 97 акцесс не управляет вставкой identity ... ну какой тут может быть выход? - запускать это в 2000 или написать специальную хп, или написать 2 запроса к серверу:
1. set identity_insert tbl on
2. set identity_insert tbl off
а между ними запускать твой
iSestrin
Дата: 10.10.2003 14:13:48
2 pkarklin
нее, это действительно 97 акцесс не выставляет нужный set в отличии от 2000/хр