0

我正在使用 MS Access 和 MS Sql 2008,我需要获取单个表中特定列的 DataType。

你能发布一个代码示例吗?

4

3 回答 3

3

尝试这个:

SELECT
  COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'schema'
  AND TABLE_NAME = 'tablename';
于 2012-09-20T14:00:13.267 回答
1

我假设您希望以编程方式获取MS Access DB的架构元数据,因为 SQL Server 还有其他答案。不幸的是,MS Access 不提供information_schema直接查询的视图目录(或任何真实模拟),因此您可能必须尝试以下方法之一:

  • 在 SQL Server 中创建一个链接服务器到您的 Access DB,并通过该.

  • 在您的应用程序中使用类似的东西GetOleDbSchemaTable

于 2012-09-20T17:10:54.987 回答
1

您还可以使用目录视图:

SELECT  sch.name [Schema],
        tbl.name [Table],
        col.name [Column],
        typ.name [Type]
FROM    sys.columns col
JOIN    sys.tables tbl ON 
        tbl.object_id = col.object_id
AND     tbl.name = 'tableName'
JOIN    sys.schemas sch ON
        sch.schema_id = tbl.schema_id
AND     sch.name = 'schemaName'
JOIN    sys.types typ ON
        typ.system_type_id = col.system_type_id
于 2012-09-20T14:09:11.473 回答