2010-02-02 1 views
1

Как я могу удалить ограничение внешнего ключа программным способом в Microsoft Access, предпочтительнее использовать SQL. Для начала я не знаю, как найти имя внешнего ключа.Как я могу удалить ограничение внешнего ключа программным способом в Microsoft Access

Я подключаюсь к Access из приложения Java с использованием моста JDBC-ODBC. Я хочу выполнить SQL из моего приложения Java.

Я вижу отношения в Access, в представлении RelationShip, но, похоже, нет способа узнать имя. Если бы я мог узнать имя, которое я ожидаю, я могу отказаться от него с помощью инструкции ALTER TABLE.

+0

Где Вы хотите запустить SQL? – Fionnuala

+0

Я подключаюсь к Access из приложения Java с использованием моста JDBC-ODBC. Я хочу выполнить SQL из моего приложения Java. –

+0

Я вижу отношения в Access, в представлении RelationShip, но, похоже, нет способа узнать имя. Если бы я мог узнать имя, которое я ожидаю, я могу отказаться от него с помощью инструкции ALTER TABLE. –

ответ

1

Я попытался получить доступ к имени внешнего ключа через объект DataBaseMetadata JDBC, но мост JDBC-ODBC не выполняет требуемые функции. Поэтому я прибегал к посадке и воссозданию всей таблицы с помощью внешнего ключа.

+0

для справки в будущем вы можете использовать следующий метод. Оно работает. http://stackoverflow.com/questions/2184479/how-do-i-delete-a-foreign-key-constraint-programmatically-in-microsoft-access/3469074#3469074 – m0g

6

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

ВЫБОР szRelationship ОТ Msysrelationships ГДЕ szObject = 'childtablename' и szReferencedObject = 'parenttablename'

ТОГДА

С помощью команды ALTER TABLE. Что-то по линии этого

ALTER TABLE Таблица2 DROP CONSTRAINT Relation1