跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 安装指南
  4. FREEBSD安装问题,“无法创建帐套“

FREEBSD安装问题,“无法创建帐套“

已定时 已固定 已锁定 已移动 Odoo 安装指南
5 帖子 2 发布者 7.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    speme
    写于 最后由 编辑
    #1

    我VPS的系统是FREEBSD的。
    首先,我是在python2.6下运行,不过,我在ubuntu下基于python 2.6也能正常运行,当然要装修改版的xml库。
    登录的数据库帐号是超级用户,应该不存在权限的问题。
    出现“无法创建帐套”的提示后,去数据库查,不存在新建的 "Database", 除此之外,在服务端没有任何错误提示。只有[code][2010-02-24 10:19:29,313] INFO:dbpool:Connecting to template1
    [2010-02-24 10:19:29,320] INFO:dbpool:Closing all connections to template1[/code]还有个警告是:[code]/usr/local/lib/python2.6/site-packages/openerp-server/tools/misc.py:741: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
    if hasattr(e, 'message'):
    /usr/local/lib/python2.6/site-packages/openerp-server/tools/misc.py:742: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
    return ustr(e.message)[/code]不过这个警告很正常,我在ubuntu下也有。这里估计一个是数据库的问题,再就是运行到哪出问题了,我就不太明白了,请各位大大请教!!

    再有:那个openerp-server我是从ubuntu那拷过去的,应该不存在问题。文件的权限我也改了。
    在/var/log/openerp-server.log里,可用的只有[code][2010-02-24 08:15:16,908] INFO:dbpool:Connecting to template1
    [2010-02-24 08:15:16,916] INFO:dbpool:Closing all connections to template1[/code]
    把log级别改成“debug_rpc"后得到

    [2010-02-24 10:33:02,541] DEBUG:sql:bad query: CREATE DATABASE "next" ENCODING 'unicode'
    

    数据库方面好像默认的encode是“ASCII”。不过,我的VPS的postgresql服务是"shared database"。

    [[i] 本帖最后由 speme 于 2010-2-24 18:37 编辑 [/i]]

    1 条回复 最后回复
    0
    • digitalsatoriD 离线
      digitalsatoriD 离线
      digitalsatori 管理员
      写于 最后由 编辑
      #2

      无法创建账套的原因一般来说是由于postgresql数据库的访问权限的关系。

      Linux下安装的postgresql数据库默认本地访问的方法是sameuser-ident, 就是说[b]不指定用户名[/b]访问数据库的情况下默认使用当前系统用户名登录,但是要登录成功,就必须在数据库中设有与Linux系统用户名相同的角色名(postgresql数据库的用户称为"角色“)

      比如你用的是超级用户root,那么postgresql中也要有root这个角色。(用root来操作openerp,和postgresql数据库是一个非常不安全的做法,比较安全的做法是启动openerp用一个一般用户,访问postgresql数据库用另外一个用户)

      创建一个访问数据库的角色的方法如下,假设你要以tom来访问postgresql数据库

      $ sudo su postgres -c createuser tom
      

      上面的命令的意思是切换到postgresql的默认超级数据库用户postgres并创建角色tom,接下来你需要回答一些问题,不要给tom超级数据库用户的权限

      创建好tom这个数据库角色后就可以设置openerp通过它来访问postgresql数据库,具体的做法如下:

      openerp-server.py -r tom -w PASS4TOM -s
      

      替换PASS4TOM为tom的访问密码

      【上海先安科技】(tony AT openerp.cn)

      1 条回复 最后回复
      0
      • digitalsatoriD 离线
        digitalsatoriD 离线
        digitalsatori 管理员
        写于 最后由 编辑
        #3

        不好意思,没仔细看你的帖子。上面的回复就不删除了,给其他新人参考。

        你是用超级数据库角色访问的数据库是吗?

        那么在shell里用

        createdb -Uusername --encoding=utf-8 DBNAME
        

        手动创建数据库,如何?

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复
        0
        • S 离线
          S 离线
          speme
          写于 最后由 编辑
          #4

          其实,我原先的数据库也是手动创建的,不过,没加好UTF8的参数。
          我用的是[code]initdb -E UTF8 data
          postmaster -D data
          createdb pgsql
          [/code]再运行openerp就好了。

          1 条回复 最后回复
          0

          • 登录

          • 没有帐号? 注册

          • 登录或注册以进行搜索。
          • 第一个帖子
            最后一个帖子
          0
          • 版块
          • 标签
          • 热门
          • 用户
          • 群组