2010-05-17 44 views
1

我正在制作一个显示底层数据库信息的应用程序。数据库可以是任何东西,但通常是Oracle,MSSQL或MySQL。我试图提取数据类型,但似乎无法得到这个权利。我有一个DbConnection,因为我不知道我是否需要OleDbConnectionOdbcConnection。在这个连接上,我做了一个GetSchema("Columns", "mytablename")查询并得到结果。似乎虽然与我的数据类型有一些不一致,或者查询返回不同数据库的不同数据类型。从底层数据库检索数据类型

例如,在我的MSSQL数据库中,我查询并得到一个返回的整数(这似乎是OleDbType),我将其映射到数据类型。我的varchars现在是char类型 - 没有长度 - 这让我困惑了一下。

我想我的主要问题是这样的:是否有任何方式提供跨提供程序提取数据类型的统一方式,并有一个“准确”的数据类型表示?

回答

0

似乎没有统一的方法来做到这一点。我从OleDb上的模式查询中提取我的数据类型,并将数据类型转换为我需要的表示形式,并为Odbc连接执行相同的操作。这种数据类型之间的“翻译”似乎是唯一的方式。