gpt4 book ai didi

java - 如何使用 Jackcess 在 Access .mdb 中创建 ODBC 链接表?

转载 作者:行者123 更新时间:2023-12-02 08:48:09 26 4
gpt4 key购买 nike

我正在尝试使用 Jackcess 在 Access .mdb 中创建 ODBC 链接表。

Final String connStr = "ODBC;DRIVER={Sybase ASE ODBC Driver};NA=dbhostname,port;DB=myDbName;UID=myID;PWD=myPass;FILEDSN=path//myDSN.dsn";

Database mdb =Database.create(new File("./test.mdb");
mdb.createLinkedTable("testLinkTable",connStr, "targetTableName");

当我打开test.mdb时,我可以看到“testLinkTable”,但链接类型是“Access Link”。我期望在 test.mdb 中创建“ODBC Link”表。

有人可以告诉我完成此任务的正确方法吗?

最佳答案

看来 Jackcess 中的 .createLinkedTable() 方法目前只能创建到另一个 Access 数据库中的表的链接。我刚刚使用 Jackcess 2.0.1 对此进行了测试,以下代码成功创建了一个名为 [Clients] 的 Access 链接表,该表指向另一个 Access 数据库:

Database database = DatabaseBuilder.open(new File("C:\\__tmp\\jTest\\linkTest.accdb"));
String linkedTableLocalName = "Clients";
String linkedTableSource = "C:\\Users\\Public\\Database1.accdb";
String linkedTableRemoteName = "Clients";
database.createLinkedTable(linkedTableLocalName, linkedTableSource, linkedTableRemoteName);

但是,此代码创建了一个名为 [dbo_Addresses] 的链接表,该表看起来类似于另一个 Access 数据库的链接(不是预期的 ODBC 链接表),并且不起作用:

Database database = DatabaseBuilder.open(new File("C:\\__tmp\\jTest\\linkTest.accdb"));
String linkedTableLocalName = "dbo_Addresses";
String linkedTableSource = "ODBC;DSN=myDb;Trusted_Connection=Yes;APP=Microsoft Office 2010;DATABASE=myDb;";
String linkedTableRemoteName = "dbo.Addresses";
database.createLinkedTable(linkedTableLocalName, linkedTableSource, linkedTableRemoteName);

关于java - 如何使用 Jackcess 在 Access .mdb 中创建 ODBC 链接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12799489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com