2010-02-15 5 views
0

Я пытаюсь получить внешние ключи для таблицы в моей базе данных SQL Server 2005. Я использую GetOleDbSchemaTable функцию прямо сейчас:GetOleDbSchemaTable Внешние ключи на сервере Sql 2005

DataTable schemaTable = connection.GetOleDbSchemaTable(
     OleDbSchemaGuid.Foreign_Keys, 
     new object[] { null, null, null, "TABLE" }); 

Это отодвигается правые внешние ключи, единственная проблема заключается в том, что UpdateRule и DeleteRule установлены на «Нет действий». Если я просматриваю одну и ту же таблицу в SSMS, я вижу, что мой DeleteRule - «Set NULL». Не возвращает ли функция GetOleDbSchemaTable правильные правила внешнего ключа? Кто-нибудь другой столкнулся с этой проблемой?

ответ

0

Я не уверен, почему OleDb вернет неверную информацию, но попробовали ли вы вместо этого использовать SqlConnection и GetSchema? Они специфичны для MSSQL, поэтому могут дать лучшие результаты.

Смежные вопросы