2010-02-15 51 views
0

我试图在我的SQL Server 2005数据库中获取表的外键。我使用于GetOleDbSchemaTable功能现在:Sql Server 2005上的GetOleDbSchemaTable外键

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

这拉回到正确的外键,唯一的问题是,UpdateRule和DeleteRule被设置为“不采取行动”。如果我浏览SSMS中的同一张表,我可以看到我的DeleteRule是“Set NULL”。 GetOleDbSchemaTable函数是否不返回正确的外键规则?有没有人遇到这个问题?

回答

0

我不确定为什么OleDb会返回不正确的信息,但您是否尝试过使用SqlConnectionGetSchema来代替?他们是MSSQL特定的,因此可能会产生更好的结果。