2014-05-02 42 views
1

我的情况是这样的: 有两种不同的办公室两个数据库由企业网络连接在一起。数据库是MySQL,它保存可以改变的数据,但是字段类型永远不会。这是整个公司访问的标准信息。第二个数据库是LibreOffice Base。它拥有更改的额外位和bobs,包括字段数和字段类型,因为公司可以改变主意了解他们想要的主要MySQL数据库中产品的额外信息。建议加入LibreOffice的基本表与一个MySQL表

我只需要在MySQL数据库中加入一个表,一个在LO基础数据库。这两个表都有一个共同称为“代码”的字段。目前,我们手动在MySQL中将大量数据输入到LO中,以便使用“报告生成器”来制作关于产品的所有额外位和bob的漂亮报告。这是非常适得其反的,如果我只能在这两个表上执行一个连接,然后在报告生成器中使用该连接,那将会更容易。这将节省大量时间并且不易出错。

问题是我不知道如何继续这个。 LO Base是一个非常有限的系统,但是这是我必须处理的,因为安全性不允许有更多。我在想,我需要在计算机上创建另一个LO Base数据库,并将它连接到MySQL,我可以以某种方式将两个LO Base文件连接在一起?这是正确的思路吗?我不能只使用LO的ODBC/JDBC/Direct Connect功能并进行连接吗?

另外,如果我不得不做出一个独立的LO基准文件,怎么会在加入看?我从来没有做过这样的两个文件之间的一个。

第三,有可能有一个显示在我的LO基础数据库中的所有记录的查询不与主数据库,因为这加入将意味着我都归咎于错误的“代码”?这个查询需要在LO Base中完成,这就是我问的原因。我做了一个非常简单的连接,它不会导致LO爆炸,但这有点复杂。

回答

0

不要认为LibreOffice Base本身支持使用不同驱动程序的混合数据源。每个LibreOffice数据库只使用一个连接器/驱动程序,或使用HSQLDB引擎,但不能混合使用。

Python可以用来桥接数据库;在另一个主题/答案(How to access ODB files in Python 2.7)中讨论了从Python进入LO的许多选项。 Python可以独立使用,也可以从LibreOffice的Macro工具下使用。也可以使用LibreOffice Basic see API reference构建连接,但不知道任何代码示例。

Python中也可以使用MySQL Connector。桥接数据库后,最有可能的选择是使用Python SQL命令将数据移植到一个数据库中,将所有数据传输到同一位置。