Операция должна быть обновляемым запросом - скрипт VB, таблица Paradox

Я использую Win XP с установленным BDE Administrator и Access 2007. Я могу открывать и выполнять выборочные запросы к существующим таблицам Paradox без проблем, но у меня очень странное поведение при попытке INSERT/UPDATE. Я даже могу создать новую таблицу Paradox, и она ведет себя так же. Вот пример кода:

 ' create new table
conObj.Execute "CREATE TABLE test (id INT, comment VARCHAR(30))"

' first insert works fine
conObj.Execute "INSERT INTO test VALUES (1, 'something')"

' second insert fails for unknown reason
conObj.Execute "INSERT INTO test VALUES (2, 'something else')"

Я пробовал использовать Jet 4.0, драйвер MS Access Paradox и собственные строки подключения драйвера Paradox, но все они дают один и тот же результат. Во втором операторе вставки выдает ошибку:

Операция должна быть обновляемым запросом

Я читал многочисленные сообщения на форумах и страницах справочных сайтов, в которых говорилось, что эта ошибка вызвана проблемой с правами доступа к файлам. Учетная запись, выполняющая этот сценарий, является частью группы администраторов, и я изменил права доступа к файлам, чтобы предоставить группе «Все» полный доступ к файлу базы данных, но это ничего не меняет.

Эта страница, опубликованная службой поддержки Micrsoft, не устранила проблему: http://support.microsoft.com/kb/175168

Кроме того, я могу создать новую таблицу, но каждый раз, когда я пытаюсь создать поле PRIMARY KEY или UNIQUE, я получаю сообщение об ошибке, в котором говорится:

«Индекс_[случайные символы] не является допустимым именем».


person William.Thompsonj    schedule 04.04.2013    source источник


Ответы (2)


попробуйте "CREATE TABLE test (id INT, комментарий VARCHAR (30), первичный ключ (id))"

person Richard Dowie    schedule 04.04.2013
comment
Я пробовал это. К сожалению, когда я пытаюсь создать первичный ключ или уникальное поле, при любых обстоятельствах возникает какая-то ошибка. - person William.Thompsonj; 10.04.2013

Я мало что знаю о базах данных Paradox, но это действительно был опыт обучения. Несмотря на то, что у меня есть файл таблицы с именем table.db, этого недостаточно для хранения более одной строки данных. Мне также нужно несколько других файлов для вставки или обновления базы данных paradox:

table.DB
table.PX
table.VAL
table.XG0
table.XG1
table.YG0
table.YG1

Я копался в другой программе, которая генерирует базы данных paradox, и обнаружил, что когда я скопировал из нее пустую базу данных вместе с другими созданными ею файлами, я смог без проблем вставлять и обновлять ее. Я понятия не имею, для чего нужны эти файлы или почему они должны присутствовать для вставки или обновления, но их присутствие решило мою проблему.

person William.Thompsonj    schedule 10.04.2013