使用ODBC和OleDB访问模式的最有效方法

时间:2009-01-16 02:44:33

标签: schema odbc oledb

我正在用C#创建一个DAL模板,我想知道使用ODBC和OleDB访问模式信息的最有效方法是什么。我需要列,列类型和主键信息。

感谢

2 个答案:

答案 0 :(得分:3)

对于OleDb,有一个OleDbConnection.GetoleDbSchemaTable()方法。我已将它用于Access。

我在GitHub上的代码中有一个例子: SchemaValidator.cs

OdbcConnection上也应该有一个.Schema()方法IIRC。

我注意到实际返回的值可能因数据库而异,因此您需要进行大量的检查和调试,以查看返回值的值。

答案 1 :(得分:0)

使用SQL Server管理对象:

http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.aspx

例如:

Microsoft.SqlServer.Management.Smo.Server s = new 
        Microsoft.SqlServer.Management.Smo.Server( @"DUFF\SQLEXPRESS" );

foreach ( Database db in s.Databases )
{
    if ( ! db.IsSystemObject )
    {
        listboxDatabase.Items.Add( db.Name );
    }
}

从这里,您可以获取数据库(和其他对象)中的表。