Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    odoo使用tds_fdw扩展功能读取外部数据库数据编码问题

    Odoo 开发与实施交流
    2
    6
    1252
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      wangss 最后由 编辑

      用tds_fdw访问sqlserver中的表单数据(数据有中文)遇到了编码问题,在odoo代码中执行查询指令:
      sql = “select * from ext_erp_cicmp”
      self.env.cr.execute(sql)
      result = cr.dictfetchall()
      直接报错:‘utf-8’ codec can’t decode byte 0xb6 in position 0:…
      用pgadmin查询:server_encoding 和client_encoding 结果都是’UTF8’

      百度查到:
      由于MS SQL Server默认编码为GBK,而且Postgresql编码变UTF8,需要改变编码显示为GBK才能正常显示中文,但客户端设置set client_encoding to ‘GBK’后,在pgadmin中查询 “select * from ext_erp_cicmp”会报错22021

      1 条回复 最后回复 回复 引用 0
      • 静静
        静静 最后由 编辑

        😯 😯 😯 直接用odoo的cr 是不行的,odoo的cr 是psotgresql的游标,你要访问其他类型的数据库,要 安装 python插件,访问的。

        1 条回复 最后回复 回复 引用 0
        • W
          wangss 最后由 编辑

          @静静 谢谢!
          我安装pymssql,已经可以不通过tds_fdw扩展读取外部数据库数据。
          但如果我想在当前的postgresql数据库中做一个视图,调用外部sqlserver数据库中的表单,还没找到方法。

          1 条回复 最后回复 回复 引用 0
          • 静静
            静静 最后由 编辑

            根本听不懂你说的啥。。。如果我想在当前的postgresql数据库中做一个视图 这是啥意思? 调用外部sqlserver数据库中的表单 这又是啥意思,视图中调用别的数据库?。

            W 1 条回复 最后回复 回复 引用 0
            • W
              wangss @静静 最后由 编辑

              @静静 意思就是odoo中创建一个视图,视图的数据直接通过调用外部扩展数据库中的表连接获得,这样就不需要本地创建表而把外部数据库的数据复制过来了

              1 条回复 最后回复 回复 引用 0
              • W
                wangss 最后由 编辑

                问题解决:
                CREATE SERVER mssql_svr FOREIGN DATA WRAPPER tds_fdw options(servername ‘192.168.1.27’, character_set ‘utf-8’,port ‘1433’,database ‘001Test1’,tds_version ‘7.1’)
                在创建mssql_svr 时,添加参数 tds_version ‘7.1’

                1 条回复 最后回复 回复 引用 0
                • First post
                  Last post