背景
由 Oracl 导出数据到 Access 的 MDB 文件,如文件超过 2G 可分多文件导出,刻盘交由有关部门质检;编写相关查询语句保存为加密 SQL 文件,指定一个 MDB 作为访问入口,能通过 UI 查询相应数据。
实现
-
导出数据
通过 ArcObjects 的 IFeatureDataConverter 接口分别导出(转换)属性表和空间表。 -
编写查询语句
CreateLinks
连接多个 MDB 文件查询可通过创建外部数据源的方式 ,也可以直接在查询语句中通过文件名连接到其他数据文件的方式:
select a.* from [;database=E:\data\440784_20171010022416XSB.mdb].table_a as a, table_b as b where a.id=b.id;
以上方式查询时发生了一个 Access 的错误:”超出系统资源“,执行”压缩和修复数据库“工具并未解决错误。于是采用外部数据源方式,由于是根据文件大小分多 MDB 导出的,需要在导出完成后动态创建连接:
创建外部连接后查询语句可以写成这样,即相当于操作同一个 MDB 的表:
select a.* from table_a as a, table_b as b where a.id=b.id;
注意
此方法需要添加 adodb 和 ADOX 引用:
adodb
ADOX
网友评论