我正在使用 MS Access 和 MS Sql 2008,我需要获取单个表中特定列的 DataType。
你能发布一个代码示例吗?
尝试这个:
SELECT
COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'schema'
AND TABLE_NAME = 'tablename';
我假设您希望以编程方式获取MS Access DB的架构元数据,因为 SQL Server 还有其他答案。不幸的是,MS Access 不提供information_schema
直接查询的视图目录(或任何真实模拟),因此您可能必须尝试以下方法之一:
在 SQL Server 中创建一个链接服务器到您的 Access DB,并通过该.
在您的应用程序中使用类似的东西GetOleDbSchemaTable
。
您还可以使用目录视图:
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