我们使用 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/