美文网首页
C# 动态创建 Microsoft Access 外部数据连接

C# 动态创建 Microsoft Access 外部数据连接

作者: JeetChan | 来源:发表于2017-12-05 23:09 被阅读28次

    背景

      由 Oracl 导出数据到 Access 的 MDB 文件,如文件超过 2G 可分多文件导出,刻盘交由有关部门质检;编写相关查询语句保存为加密 SQL 文件,指定一个 MDB 作为访问入口,能通过 UI 查询相应数据。

    实现

    • 导出数据
       通过 ArcObjects 的 IFeatureDataConverter 接口分别导出(转换)属性表和空间表。

    • 编写查询语句
       连接多个 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 导出的,需要在导出完成后动态创建连接:

      CreateLinks
      创建外部连接后查询语句可以写成这样,即相当于操作同一个 MDB 的表:
      select a.* from table_a as a, table_b as b where a.id=b.id;
      注意
      此方法需要添加 adodb 和 ADOX 引用:
      adodb
      ADOX

    参考

    相关文章

      网友评论

          本文标题:C# 动态创建 Microsoft Access 外部数据连接

          本文链接:https://www.haomeiwen.com/subject/flehixtx.html