oracle - 在 MS Access 中以编程方式创建 ODBC 连接和链接表

标签 oracle ms-access odbc dsn

我们使用 MS Access 作为 Oracle 的报告前端。数据是通过 ODBC 连接 Access 的,Access to Oracle 中有两个链接表,它们是原始数据表。我希望能够从 Access 文件中建立连接并链接表。这样用户就不必担心为 ODBC 连接设置 DSN(他们中的大多数不是技术含量很高的用户,并且需要手动进行此类操作),并且我们最终可以将 Access 文件指向不同的测试环境并生成报告。

是否可以在打开文件时动态创建数据库连接,我是否可以动态更改链接表链接到的位置?

最佳答案

您需要来自 Access 的无 DSN 链接表连接。这是可能的,我已经做到了,但我没有代码。我认为它类似于下面的内容(这使用了 SQL Server 源,但 Oracle 的连接字符串略有不同)。要在启动时创建表,您需要在尝试再次创建它们之前检查每个 tabledef 是否存在,并在 Access 数据库打开时调用如下子例程。

Function LinkTables()
    Dim DB As Database, tDef As TableDef
    Set DB = CurrentDb
    Set tDef = DB.CreateTableDef("YourAccessLinkedTableNameHere")
    tDef.Connect = "ODBC;Driver={SQL Server};Server=srvname;Database=dbname;UID=sqluserid;PWD=sqlpwd"
    tDef.SourceTableName = "dbo.YourSourceTableNameHere"
    DB.TableDefs.Append tDef
End Function

关于oracle - 在 MS Access 中以编程方式创建 ODBC 连接和链接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3096236/

相关文章:

sql-server - 如何使用VBA加速Access和SQL Server之间的表传输?

sql - ADODB SQL 语法 - 使用 Excel 工作表 Access 表内连接

mysql - "At most one record must be returned by this subquery"我是否搞砸了人际关系?

c++ - 如何使用 OTL ODBC 驱动程序将 C++ 连接到 MySQL?

ms-access - 保存用于从MS Access 2007到MS SQL Server的ODBC连接的密码

oracle - 在本地 Oracle 实例上开发

java - 在java中测试JDBC连接时如何检查有效的驱动程序名称

oracle - 找出表空间上的可用空间

oracle - 当last_analyzed和stale_stats为空时意味着什么

odbc - Hive ODBC 驱动程序 DSN 设置问题