Microsoft Access 元数据?

Posted

技术标签:

【中文标题】Microsoft Access 元数据?【英文标题】:Microsoft Access metadata? 【发布时间】:2016-10-20 21:22:18 【问题描述】:

我想查询一些 Microsoft Access 数据库(一些 2007 年和一些 2010 年)的元数据,以获取给定表的列和数据类型。我可以通过查询 ALL_TAB_COLUMNS 在 Oracle 中做到这一点。我可以在 SQL Server 中通过查询 sys.objects、sys.columns 和 sys.types 来做到这一点。像这样的...

USE AdventureWorks2008R2

SELECT
    b.name,
    b.column_id,
    c.name,
    b.max_length,
    b.precision,
    b.scale
FROM
    sys.objects a
INNER JOIN sys.columns b ON a.object_id = b.object_id
INNER JOIN sys.types c ON b.system_type_id = c.user_type_id
WHERE
    a.name = 'Person'
ORDER BY
    b.column_id

捕获此元数据的目的是在 Biml 中使用它来创建 SSIS 包工厂。有没有办法系统地获取 Microsoft Access 表的列数据类型?

谢谢

【问题讨论】:

【参考方案1】:

很遗憾,没有可以返回列和类型的 SQL 查询。

上述使用VBA代码的答案是一种方式,另一种是使用数据库记录器。它会生成这样的报告:

【讨论】:

这是另一个解决这个问题的 SO 问题...***.com/questions/17555174/….【参考方案2】:

检查表格时使用字段对象。我只使用了 fld.name,其中 fld 是一个字段对象。

我只是给了别人代码来查找通过每一列的名字。您可能可以使用其他属性来代替“名称”。 (哦,插入您的 Addnew,更新记录集。我在平板电脑上打字,很懒

           for each fld in rst.fields
                   NewRst!variable = fld.name
           next fld

【讨论】:

以上是关于Microsoft Access 元数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何从Microsoft Office文档中完全删除那些暴露你身份的元数据?

Google Cast:加载元数据错误并且不存在 Access-Control-Allow-Origin 标头

SSIS OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005,无法确定元数据

在我的 wcf 服务中验证 AX 服务器域、用户名和密码等凭据后,下载 Microsoft Dynamics AX 2012 服务 wsdl 元数据

Azure 函数不会创建 blob 元数据

Hive初始化元数据仓库:java.sql.SQLException : Access denied for user ‘hive‘@‘localhost‘ (using password: YES)