Python 如何在OpenERP中连接到其他数据库?

Python 如何在OpenERP中连接到其他数据库?,python,xml-rpc,openerp,Python,Xml Rpc,Openerp,根据正在使用的模块,如何连接到不同的数据库?我们的设想如下: 我们有一个独立的应用程序,在某个服务器上有自己的数据库,在不同的服务器上运行OpenERP。我们想在OpenERP中创建一个模块,该模块可以利用独立应用程序服务器上的实体,而不是在自己的数据库中创建自己的实体,这可能吗?我们如何更改ORM用于连接到自己的数据库的连接参数以指向不同的数据库 当然,一种方法是使用base_synchro模块在两个数据库之间同步所需的实体,但考虑到数据量大,我们不希望重复。另一种方法是使用xmlrpc将数据

根据正在使用的模块,如何连接到不同的数据库?我们的设想如下:

我们有一个独立的应用程序,在某个服务器上有自己的数据库,在不同的服务器上运行OpenERP。我们想在OpenERP中创建一个模块,该模块可以利用独立应用程序服务器上的实体,而不是在自己的数据库中创建自己的实体,这可能吗?我们如何更改ORM用于连接到自己的数据库的连接参数以指向不同的数据库

当然,一种方法是使用base_synchro模块在两个数据库之间同步所需的实体,但考虑到数据量大,我们不希望重复。另一种方法是使用xmlrpc将数据获取到OpenERP中,但这仍然需要实体存在于OpenERP数据库中


如果没有重复数据,我们如何解决这个问题?如何基于不同的数据库创建OpenERP中的模块?

连接到外部应用程序的一种方法是创建连接器模块。您可以查看几个连接器模块:

  • thunderbird和outlook插件
  • joomla和magento模块
  • “事件moodle”模块
例如,joomla连接器使用joomla插件来处理OpenERP和joomla之间的通信。使用的通信协议是XML-RPC,但您可以选择所需的任何协议。您甚至可以选择使用psycopg2模块直接连接到外部数据库(如果外部数据库使用Postgresql),但不建议这样做。但是,如果这个外部应用程序没有连接API,您可能没有选择权

您需要知道连接到此外部应用程序的可用方式,并从中选择一种。一旦选择了正确的协议,就可以创建OpenERP模块


可以使用osv.TransientModel对象(以前称为osv内存)映射存储在外部应用程序上的实体。与这些对象相关的表仍将在OpenERP数据库中创建,但数据不稳定(一段时间后删除)。

连接到外部应用程序的一种方法是创建连接器模块。您可以查看几个连接器模块:

  • thunderbird和outlook插件
  • joomla和magento模块
  • “事件moodle”模块
例如,joomla连接器使用joomla插件来处理OpenERP和joomla之间的通信。使用的通信协议是XML-RPC,但您可以选择所需的任何协议。您甚至可以选择使用psycopg2模块直接连接到外部数据库(如果外部数据库使用Postgresql),但不建议这样做。但是,如果这个外部应用程序没有连接API,您可能没有选择权

您需要知道连接到此外部应用程序的可用方式,并从中选择一种。一旦选择了正确的协议,就可以创建OpenERP模块

可以使用osv.TransientModel对象(以前称为osv内存)映射存储在外部应用程序上的实体。与这些对象相关的表仍将在OpenERP数据库中创建,但数据不稳定(一段时间后删除)