更新外在的RDBMS

升级外部的RDBMS是一个简单的过程,只需花15-30分钟就可完成,高级的扩展步骤是:

这些步骤在下面有详细的讨论。

此章节也包括一些对数据库具体配置的描述。请查看“数据库的具体配置”章节了解更详细的信息 。

步骤 1 - 终止PaperCut NG的应用程序

为了更新外部的数据库,应用程序服务器应该被终止。这允许数据被备份,保证所有的数据被保存并且立刻加载到新的数据库里。

终止应用服务器的说明可以在“终止和启动应用程序服务器”章节里找到。

步骤 2 - 执行对现有数据的备份

执行数据库的备份。此数据将按照下面的步骤被加载到应用程序里。有关备份详细内容的讨论在“系统备份”里可以找到。备份数据库:

  1. 在服务器上,打开命令提示符。

  2. 如果运行在 Linux或Mac操作系统上,那么使用su或于之等同的papercut身份来更改。例如:

            Mac:     sudo su - papercut
            Linux:   su - papercut
    
  3. 更改服务器的目录状态。如:

            Windows:  cd "C:\Program Files\PaperCut NG\server\bin\win"
            Mac:      cd "/Applications/PaperCut NG/server/bin/mac"
            Linux:    cd ~papercut/server/bin/linux-i686
  4. 运行以下的命令:db-tools export-db

  5. 输出以上命令所显示的 创建的备份文件名。值得注意的是它将在后面的步骤中有用到。

步骤 3 - 在外在的RDBMS里创建一个新的数据库

此步骤依赖于您所使用的外部的数据库,并且假定管理员是了解如何创建一个新的数据库。不管数据库是否使用,以下的步骤必须执行:

  1. 创建一个新的空数据库致力于PaperCut NG的使用。当创建数据库时要确保您所选择的语言符号代码是正确的。对于SQL服务器,符号代码是在新的数据库屏幕上的整理项里设置的。对于其它类似 PostgreSQL的数据库,它推荐您选择unicode字符设置(类似 UNICODE 或UTF8)以尽可能允许所有的字符被保存。

  2. 创建一个新的用户数据库(及密码)以适用于使用PaperCut NG连接到数据库。

  3. 分配适当的许可到新的用户给他们全部存取新的数据库(如:创建/撤消表格并且选择/插入/更新/删除表格里的内容的许可)。

重点

对于PaperCut NG用户数据库的创建应用程序要求应该仅有最小化的许可设置。 用户应该完全允许创建/终止表格并有权访问创建的任何表格。然而,用户不应该 被允许访问您安装在数据库服务器上其它的数据库。

步骤 4 - 更改PaperCut NG连接的详细信息

配置PaperCut NG的下一步是连接到新的外在的数据库。操作如下:

  1. 在服务器上,打开服务器配置文件:

    [appdir]/server/server.properties

  2. 在服务器的文本编辑器里(如:计事本),打开服务器配置文件:

            [appdir]/server/server.properties
        
  3. 在行线外做注释

            database.type=Internal
                            

    添加#(hash) 特征到新一行。

  4. 找到数据库连接的详细信息以适用于您所需要的数据库类型(如:SQL服务器或 PostgreSQL),并且不用通过移出#(hash) 特征注释。

  5. 设置用户名和密码用于连接到数据库:

            database.username=[your-db-user]
            database.password=[your-db-password]
                            
  6. 对于外在的数据库,设置数据库URL描述位置和连接的详细信息。URLs对于不同数据库的类型可以查看下面数据库的格式。

重点

如果使用Microsoft SQL Server,指定配置的用户名是SQL服务器的数据库用户,而不是 Windows用户。此用户需要在SQL服务器上创建并授予应用程序数据库的全部权限。

SQL服务器数据库连接的URL的格式

SQL服务器URL格式是:

            jdbc:jtds:sqlserver://[server]/[database]
                

[server]是运行SQL服务器数据库的参数名并且必须从PaperCut NG服务器被解决。如果SQL服务器要求在同一台机器上运行那么可以使用localhost

[database]是SQL服务器数据库的参数名,您的创建如上述步骤3。

SQL Server 2005 Express数据库的连接URL的格式

SQL Server 2005 Express的格式是:

            jdbc:jtds:sqlserver://[server]:[port]/[database]
                

[server]是运行SQL服务器数据库的参数名并且必须从PaperCut NG服务器被解决。如果SQL服务器要求在同一台机器上运行那么可以使用 localhost

[port]参数是用于配置SQL Server Express 版本的端口。对于更多有关配置SQL Express的信息,请查看“配置Microsoft SQL Express 2005” 章节部分。

[database]是SQL服务器数据库的参数名,您的创建如上述步骤3。

PostgreSQL数据库的连接URL的格式

Postgres URL格式是:

            jdbc:postgresql://[server]/[database]
                

[server]是运行PostgreSQL服务器数据库的参数名并且必须从PaperCut NG服务器被解决。如果PostgreSQL服务器要求在同一台机器上运行那么可以使用 localhost

[database]是PostgreSQL服务器数据库的参数名,您的创建如上述步骤3。

Oracle数据库的连接URL 的格式

                    jdbc:oracle:thin:@[server]:[port]/[SID]
                

[server]是运行Oracle 服务器数据库的参数名并且必须从PaperCut NG服务器被解决。如果Oracle 服务器要求在同一台机器上运行那么可以使用 localhost

[port]指定的端口号是用于 Oracle服务的。默认的端口号是1521。

通常用于指定鉴定Oracle的数据库。SID适用于Oracle Express的版本是XE.[SID]

步骤 5 - 初始化新的数据库

下一步是初始化新的数据库,创建必需的数据库表格并初始数据。初始化数据库的步骤如下:

  1. 在服务器上,打开命令提示符。

  2. 如果运行在 Linux 或 Mac系统上,使用 su或等同于papercut的鉴定,如:

            Mac:     sudo su - papercut
            Linux:   su - papercut
                           
  3. 更改服务器的目录状态,如:

            Windows:  cd "C:\Program Files\PaperCut NG\server\bin\win"
            Mac:      cd "/Applications/PaperCut NG/server/bin/mac"
            Linux:    cd ~papercut/server/bin/linux-i686
                            
  4. 运行以下的命令: db-tools init-db

显示的信息表明了数据库初始化连接是否正确的详细信息

步骤 6 - 加载数据到新的数据库

此步骤是加载数据到数据库(在第2步被导出)。导入数据库:

  1. 在服务器上,打开命令提示符。

  2. 如果运行在 Linux 或 Mac系统上,使用 su或等同于papercut的鉴定,如:

            Mac:     sudo su - papercut
            Linux:   su - papercut
                            
  3. 更改服务器的目录状态,如:

            Windows:   cd "C:\Program Files\PaperCut NG\server\bin\win"
            Mac:       cd "/Applications/PaperCut NG/server/bin/mac"
            Linux:     cd ~papercut/server/bin/linux-i686
                           
  4. 运行以下命令:db-tools import-db "backup file name"

  5. 此命令将显示导入数据的过程。

如果没有出现错误那么就准备重启应用程序。

步骤 7 - 重启PaperCut NG应用程序服务器

数据现在已经被移到新的数据库并且服务器可以被重新启动。

如何启动服务器的说明可以在“终止和启动应用程序服务器”中找到。

对于服务器的启动大概需要30秒,那么就可以联接到管理控制台。如果您联机成功,那么扩展更新过程就完成了。