如何从sqlclient程序(比如heidisql)连接到openerpmysql数据库

2ledvvac  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(375)

我很难从一台装有sqlclient(比如heidisql)的pc连接到安装在ubuntu服务器上的mysql数据库服务器。这个数据库服务器是openerp(开源项目)安装的一部分,并且工作正常。
我想开发一个新的程序,从这个数据库中提取一些数据用于bi目的,但我有连接问题。
我曾尝试通过3306,8070和其他给定的端口连接,但没有成功。

slsn1g29

slsn1g291#

odoo使用的是postgresql,因此pgadmin是最好的选择。
去找pgadmin(https://www.pgadmin.org/download/)
允许从postgresql.config中的ip连接(取消对“listen\u addresses”行的注解)
通过添加以下内容调整pg_hba.conf: host all all your.public.ip/32 md5 使用pgadmin连接
另外,如果您使用的是amazonec2或其他现代云服务器,请记住允许从您的ip访问端口5432。资料来源:https://cier.tech/blog/blog-1/post/how-to-connect-to-odoo-db-using-pgadmin-20

ioekq8ef

ioekq8ef2#

您可以使用这个模块来管理到mysql服务器的连接
https://github.com/oca/server-tools/tree/10.0/base_external_dbsource_mysql
https://github.com/oca/server-tools/tree/10.0/base_external_dbsource_sqlite
https://github.com/oca/server-tools/tree/10.0/base_external_dbsource
创建这样的记录(手动使用表单或xml):

<record model="base.external.dbsource" id="read_mysql_conn" forcecreate="True">
    <field name="name">MySQL Connection</field>
    <field name="password">admin</field>
    <field name="connector">mysql</field>
    <field name="conn_string">mysql+pymysql://user:%s@127.0.0.1:3306/database</field>
</record>

像这样使用:

res = self.env.ref('custom_module.read_mysql_conn').execute(
    """Select `id`, `name`, `unit` from `units`;""",
    {}
)

相关问题