プリントリリースデータベース用に Microsoft SQL Server を使用する

Microsoft SQL Server のプリントリリースデータベーステーブルは、インストール時に自動的に作成されます。インストール中に、データベース画面で Microsoft SQL Server データベースサーバー情報を指定します。このプロセスにより、database.properties ファイルに正しい情報が自動的に入力されます。database.properties ファイルと同じディレクトリに、database_mssql.properties ファイルのバックアップコピーが保存されます。database_mssql.properties ファイルには、Microsoft SQL Server 用の database.properties ファイルを構成する際にテンプレートとして使用できる変数名が含まれています。database_mssql.properties を編集して使用する場合は、名前を database.properties に変更します。

メモ:

インストール後に Firebird から Microsoft SQL Server に切り替える場合は、Microsoft SQL Server でプリントリリースデータベースを手動で作成します。すべてのバックアップファイルを削除してから、LPM インストーラを実行します。データベース画面で Microsoft SQL Server データベース情報を指定します。

メモ:  LPM データは、新しい Microsoft SQL Server データベースに移行されません。

サポートされている Microsoft SQL Server のバージョン

Microsoft SQL Server 2014 または 2012 をインストールする前に、[サーバー マネージャ]から以下を追加します。

Microsoft SQL Server のプリントリリースデータベースを作成する

メモ:  LPM バージョン 2.4 以降のインストーラでは、インストール中にプリントリリーステーブルが自動的に作成されます。
  1. Management Studio から、データベース所有者としてデータベースサーバーに接続します。

  2. データベースノードを右クリックし、 [新しいデータベース] をクリックします。

  3. データベースのわかりやすい名前を入力します。

  4. [OK] をクリックします。

プリントリリーステーブルに Unicode を追加する

  1. コンピュータから、プリントリリーステーブルを更新します。たとえば、 %ProgramFiles%\Lexmark\Solutions\lpm\ms-sql-script\migrate-ascii-column-data-to-unicode.sql

    メモ:

    • テーブルが存在しないと、MP_PRINTERS テーブルのエラーが発生することがあります。[Email Watcher]を[プリンタのニックネーム]とともに使用していない場合は、スクリプト内のその行をコメントアウトします。
    • プリントリリースバージョン 2.3.15 以降を使用する場合は、プリントリリースバージョン 2.3.14 でスクリプトを実行すると、dbo.SCHEMA_ELEMENTS テーブルのエラーが発生することがあります。プリントリリースバージョン 2.3.14 を使用している場合は、スクリプト内のその行をコメントアウトします。
  2. Management Studio から、データベース所有者としてデータベースサーバーに接続します。

  3. プリントリリースデータベースを右クリックして、 [新しいクエリ] をクリックします。

  4. 新しいクエリウィンドウに、 migrate-ascii-column-data-to-unicode.sql ファイルの内容を貼り付けます。

  5. プリントリリースデータベースが選択されていることを確認し、 [実行] をクリックします。

PR_JOBS などのすべてのプリントリリーステーブルで、 varchar データ型が nvarchar に更新されます。

Microsoft SQL Server の初期設定インスタンスの database.properties ファイルを更新する

LPM バージョン 2.4 以降では、インストール中に接続文字列がプロパティファイルに作成されます。Microsoft SQL Server でプリントリリースデータベースを手動で作成し、LPM スタンドアロンインストーラを実行します。このプロセスにより、database.properties ファイルに正しい情報が入力され、Microsoft SQL Server にプリントリリーステーブルが自動的に作成されます。

  1. Lexmark 管理コンソールで、アプリケーションサーバーをオフラインに設定します。

  2. アプリケーションサーバーから <install_path> \apps\printrelease\WEB-INF\classes フォルダを参照します。ここで、 <install_path> は、LPM のインストールパスです。

  3. database.properties の名前を database_backup.properties に変更します。

  4. テキストエディタを使用して、 database_mssql.properties ファイルを開きます。

  5. 以下の操作を実行します。

    1. ${SQLSERVER} を検索し、すべてのインスタンスを Microsoft SQL Server のネットワークアドレスに置き換えます。

    2. ${SQLDB} を検索し、すべてのインスタンスを、プリントリリースデータベーステーブルを含む Microsoft SQL Server データベース名に置き換えます。

    3. ${SQLUSER} を検索し、すべてのインスタンスを、プリントリリースデータベーステーブルへの読み取り/書き込み/削除アクセス権を持つ Microsoft SQL Server の名前付きユーザーに置き換えます。

    4. ${SQLPW} を検索し、すべてのインスタンスを、Microsoft SQL Server の名前付きユーザーのパスワードに置き換えます。

  6. ファイルに database.properties という名前を付けます。

  7. ファイルを保存します。

  8. Lexmark ソリューションのアプリケーションサーバーサービスを再起動します。

  9. Lexmark ソリューションのアプリケーションサーバープロセス(tomcat7.exe)が完全に初期化されたら、サーバーをオンラインに設定します。

  10. すべてのアプリケーションサーバーに対してこのプロセスを繰り返します。

メモ:  プリントリリーステーブルのサブセットだけが Microsoft SQL Server に保存されている場合は、database_mssql.properties ファイルから database.properties ファイルに適切なセクションをコピーします。たとえば、Microsoft SQL Server のプリントリリース統計データのみが必要な場合は、database_mssql.properties ファイルから database.STATS セクションをコピーします。database.properties ファイルから、同じ情報を上書きします。

複数のデータベースのデータソースを更新する

database.properties ファイルの変更には、LPM ポータルアプリケーションサーバーでの更新が必要です。初期設定では、LPM ポータルに、初期設定データソースとセカンダリデータソースと呼ばれるデータソースが設定されます。データソース内のデータベース情報は、LPM の設定によって異なります。たとえば、非サーバーレス設定にインストールされた LPM では、初期設定データソースとセカンダリデータソースが同じデータベースをポイントします。サーバーレス設定では、初期設定データソースは LPM Microsoft SQL Server データベースをポイントし、セカンダリデータソースは LDD Firebird データベースをポイントします。

  1. Lexmark 管理コンソールで、アプリケーションサーバーをオフラインに設定します。

  2. アプリケーションサーバーから <install_path> \apps\lpm\WEB-INF\classes フォルダを参照します。ここで、 <install_path> は LPM のインストールパスです。

  3. テキストエディタを使用して、 database-production-config.properties ファイルを開きます。

  4. 初期設定データソースまたはセカンダリデータソースがポイントするデータベース情報を更新します。

    サンプルコード

    dataSource.url = jdbc:sqlserver://<ip address>;databasename=LPMPremise;?lc_ctype=UTF-8 dataSource.driverClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver dataSource.dialect = org.hibernate.dialect.SQLServer2008Dialect dataSource.username = lpmadmin dataSource.password = tiger123 dataSource.properties.validationQuery = select 1 dataSource.pooled = true dataSource.properties.maxActive = 15 dataSource.properties.maxIdle = 1 dataSource.properties.minIdle = 1 dataSource.properties.minEvictableIdleTimeMillis=5000 dataSource.properties.timeBetweenEvictionRunsMillis=60000 dataSource.properties.testOnBorrow=true dataSource.properties.testWhileIdle=true dataSource.properties.testOnReturn=true dataSource.removeAbandoned=true dataSource.removeAbandonedTimeout=180000 dataSource_secondary.url = jdbc:firebirdsql://<ip address>/3050:SOLUTIONINFO?lc_ctype=UTF-8 dataSource_secondary.driverClassName = org.firebirdsql.jdbc.FBDriver dataSource_secondary.dialect = org.hibernate.dialect.FirebirdDialect dataSource_secondary.username = framework dataSource_secondary.password = ENC (mna6C4NkloGNVSx4ry08RA==) dataSource_secondary.properties.validationQuery = select 1 from RDB$DATABASE dataSource_secondary.pooled = true dataSource_secondary.properties.maxActive = 15 dataSource_secondary.properties.maxIdle = 1 dataSource_secondary.properties.minIdle = 1 dataSource_secondary.properties.minEvictableIdleTimeMillis=5000 dataSource_secondary.properties.timeBetweenEvictionRunsMillis=60000 dataSource_secondary.properties.testOnBorrow=true dataSource_secondary.properties.testWhileIdle=true dataSource_secondary.properties.testOnReturn=true dataSource_secondary.removeAbandoned=true dataSource_secondary.removeAbandonedTimeout=180000
  5. 別のデータソースを追加するには、以下の操作を実行します。

    1. セカンダリデータソースをコピーします。

    2. secondary を、 tertiary または適切で一意な任意のサフィックスに置き換えます。

    3. 追加したデータソースのデータベース情報を更新します。

    4. 追加したデータソースのパスワード暗号化コーデックを追加します。

      サンプルコード

      dataSource_tertiary.url = jdbc:firebirdsql://<ip address>/3050:SOLUTIONINFO?lc_ctype=UTF-8 dataSource_tertiary.driverClassName = org.firebirdsql.jdbc.FBDriver dataSource_tertiary.dialect = org.hibernate.dialect.FirebirdDialect dataSource_tertiary.username = framework dataSource_tertiary.password = ENC (mna6C4NkloGNVSx4ry08RA==) dataSource_tertiary.properties.validationQuery = select 1 from RDB$DATABASE dataSource_tertiary.pooled = true dataSource_tertiary.properties.maxActive = 15 dataSource_tertiary.properties.maxIdle = 1 dataSource_tertiary.properties.minIdle = 1 dataSource_tertiary.properties.minEvictableIdleTimeMillis=5000 dataSource_tertiary.properties.timeBetweenEvictionRunsMillis=60000 dataSource_tertiary.properties.testOnBorrow=true dataSource_tertiary.properties.testWhileIdle=true dataSource_tertiary.properties.testOnReturn=true dataSource_tertiary.removeAbandoned=true dataSource_tertiary.removeAbandonedTimeout=180000 dataSource_tertiary.passwordEncryptionCodec=com.lexmark.utils.PBEWithMD5AndDESCodec
  6. 新しいデータソースが追加された場合、アプリケーションサーバーから <install_path> \apps\lpm\WEB-INF\classes フォルダを参照します、ここで、 <install_path> は LPM のインストールパスです。

  7. テキストエディタを使用して、 app-production-config.properties ファイルを開きます。

  8. 3 番目のデータソースをポイントする必要があるデータベース情報を更新します。

    サンプルコード

    datasource.webapp = secondary datasource.badge = DEFAULT datasource.pin = tertiary datasource.stats = DEFAULT datasource.printernicknames = secondary datasource.printtrackdevices = DEFAULT
  9. LPM ポータルでの更新内容が database.properties ファイルの値と同じであることを確認します。

  10. ファイルを保存します。

  11. Lexmark ソリューションのアプリケーションサーバーサービスを再起動します。

Microsoft SQL Server 名前付きインスタンスを使用する

プリントリリースデータベースに Microsoft SQL Server の名前付きインスタンスを使用する場合は、以下のプロパティに instanceName パラメータを追加します。

たとえば、STATS セクションを以下のように更新する必要があります。

database.STATS.connect=jdbc:sqlserver://network.address.of.mssqlserver;databaseName=CustomerPrDatabaseName;instanceName=nameOfCustomerMSSQLInstance;

database.STATS.dataSource=network.address.of.mssqlserver;databaseName= CustomerPrDatabaseName;instanceName= nameOfCustomerMSSQLInstance;