新しい Mobile Link サーバーと既存の統合データベースを使用できるようにするには、新しいシステムオブジェクトをインストールするアップグレードスクリプトを実行する必要があります。アップグレードスクリプトは、現在インストールされている Mobile Link システムテーブルの所有者が実行する必要があります。Mobile Link システム設定を更新するには、次の方法を使用することもできます。
Sybase Central の Mobile Link プラグインで、[Mobile Link 12] » [プロジェクト] » [統合データベース] をクリックし、データベース名を右クリックして、[Mobile Link システム設定のチェック] をクリックします。データベースの設定が必要な場合は、続行のプロンプトが表示されます。
同期モデル展開ウィザードを使用する場合は、サーバーデータベースに接続するとシステム設定がチェックされます。データベースの設定が必要な場合は、続行のプロンプトが表示されます。同期モデルを参照してください。
6.0.x の Mobile Link アップグレードスクリプトは削除されました。このアップグレードが必要な場合は、テクニカルサポート ( http://www.sybase.com/support) に連絡してください。
ml_add_missing_dnld_scripts ストアドプロシージャーを使用して、欠落している download_cursor スクリプトか download_delete_cursor スクリプトまたはその両方を修正します。スクリプトバージョン名を使用してこのプロシージャーを呼び出すと、指定したスクリプトバージョンで使用されるすべての同期テーブルに対して、欠落している download_cursor スクリプトと download_delete_cursor スクリプトが無視されるスクリプトとして定義されます。
10.0.0 より前のバージョンで作成された authenticate_user_hashed スクリプトを使用する場合は、お使いの RDBMS でバイナリに相当する型を使用して、VARBINARY(20) ではなく VARBINARY(32) を受け入れるようにスクリプトを変更する必要があります。
SQL Anywhere ソフトウェアをアップグレードします。
バージョン 10 以降のデータベースのアップグレードを参照してください。
アップグレード元のバージョン用の適切なアップグレードスクリプトを実行して、Mobile Link システム設定をアップグレードします。
アップグレードスクリプトは、upgrade_sa.sql という名前です。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の SQL Anywhere バージョンを示します。
たとえば、Interactive SQL からデータベースに接続し、次の文を実行します。
READ "C:\Program Files\SQL Anywhere 12\MobiLink\upgrade\10.0.x\upgrade_sa.sql" |
Adaptive Server Enterprise、Oracle、MySQL、または Microsoft SQL Server の統合データベース内の Mobile Link システムオブジェクトをアップグレードする必要があるのは、12.0.1 より前のバージョンの Mobile Link サーバーを使用している場合だけです。
Adaptive Server Enterprise データベースの場合は、"select into" パーミッションを設定する必要があります。Sybase Interactive SQL で次の文を実行します。
USE MASTER go sp_dboption your-database-name, "SELECT INTO", true go USE your-database-name go checkpoint go |
アップグレードするデータベースのバージョンに対応したアップグレードスクリプトを実行します。
アップグレードスクリプトは upgrade_XXX.sql という名前です。XXX は、統合データベースの RDBMS を示します。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の Mobile Link バージョンを示します。
たとえば、バージョン 9.0.2 の Mobile Link システムテーブルが適用された Microsoft SQL Server データベースをアップグレードするには、次のコマンドを実行します。
osql -S server_name -U user_name -P password -I "C:\Program Files\SQL Anywhere 12\MobiLink\upgrade\9.0.2\upgrade_mss.sql" |
IBM DB2 LUW の統合データベースをアップグレードする必要があるのは、12.0.1 より前のバージョンの Mobile Link サーバーを使用している場合だけです。
IBM DB2 LUW 設定スクリプトを実行する方法については、IBM DB2 LUW 統合データベースを参照してください。
IBM DB2 LUW アップグレードスクリプトのロケーションを検索します。
アップグレードスクリプトは upgrade_db2.sql という名前で、SQL Anywhere インストール環境の MobiLink/upgrade/version サブフォルダーにあります。version ディレクトリは、アップグレード元の Mobile Link のバージョンを示します。
upgrade_db2.sql をコピーし、このコピーを変更します。スクリプトの先頭にある CONNECT 文を変更して、接続するインスタンスで動作できるようにします。コピーした SQL スクリプトを統合データベースに適用します。
SQL Anywhere 10.0.0 より前のバージョンでは、Mobile Link システムテーブルの所有者は dbo でした。SQL Anywhere データベースの設定スクリプトを実行するには、Mobile Link システムテーブルの所有者として統合データベースにログインする必要があります。テーブルの変更パーミッションを持つユーザーとしてこのスクリプトを実行しても十分ではありません。アップグレードスクリプトを実行するには、SQL 文 SETUSER を使用して dbo を同一化する方法もあります。次に例を示します。
SETUSER "dbo"; |
Sybase Central で統合データベースをアップグレードするには、GRANT CONNECT 文を使用して dbo のパスワードを作成してから、dbo として接続する必要があります。次に例を示します。
GRANT CONNECT TO dbo IDENTIFIED BY password; |
この場合、アップグレード後に、ALTER USER を使用して dbo のパスワードを削除する必要があります。次に例を示します。
ALTER USER TO dbo IDENTIFIED BY ""; |
SQL Anywhere 統合データベースは設定済みで、同期はまだ一度も実行していない場合は、アップグレードスクリプトではなく、設定スクリプトを実行する必要があります。この手順は、SQL Anywhere 統合データベースだけに適用されます。SQL Anywhere 統合データベースを参照してください。
バージョン 10.0.0 より前の SQL Anywhere の統合データベースをアップグレードする場合は、先にデータベースをバージョン 12 にアップグレードする必要があります。
データベースサーバーを停止します。
データベースをバージョン 12 にアップグレードします。
手順については、次の項を参照してください。
DBA としてログインした状態で、データベースサーバーを起動します。
アップグレードするには DBA でログインする必要があります。
アップグレードするデータベースのバージョンに対応したアップグレードスクリプトを実行します。
アップグレードスクリプトは、upgrade_asa.sql という名前です。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の SQL Anywhere バージョンを示します。
アップグレードスクリプトを実行するには、dbo ユーザーを同一化する必要があります。この処理には SQL 文 SETUSER を使用します。
たとえば、SQL Anywhere バージョン 9.0.2 の統合データベースをアップグレードする場合は、Interactive SQL でデータベースに接続し、次の文を実行します。
SETUSER "dbo"; READ 'C:\Program Files\SQL Anywhere 12\MobiLink\upgrade\9.0.2\upgrade_asa.sql' |
dbo のパスワードを削除します。次に例を示します。
GRANT CONNECT TO "dbo"; |
DBA 以外のユーザーとして Mobile Link サーバーを実行している場合は、新しい Mobile Link システムオブジェクトの EXECUTE パーミッションをこのユーザーに付与する必要があります。新しいシステムオブジェクトは、アップグレード対象のバージョンによって異なります。次のコードで、すべての Mobile Link システムオブジェクトへの必要なパーミッションが付与されます。このコードを実行する前に、ユーザー名 my_user を、Mobile Link サーバーを実行しているユーザーの名前に変更する必要があります。
GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_column to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_connection_script to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_database to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_device to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_device_address to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_listening to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_repair to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_script to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_status to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_primary_server to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_property to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_delivery to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_delivery_archive to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_global_props to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_notifications to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_archive to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_props to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_props_archive to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_staging to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_history to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_history_archive to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_staging to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_agent to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_agent_property to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_agent_staging to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_deployed_task to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_event to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_event_staging to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_managed_remote to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_notify to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_remote_db_class to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_task to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_task_command to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_task_command_property to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_ra_task_property to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_script to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_script_version to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_scripts_modified to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_sis_sync_state to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_subscription to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_table to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_table_script to my_user; GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_user to my_user; GRANT EXECUTE ON dbo.ml_add_column to my_user; GRANT EXECUTE ON dbo.ml_add_connection_script to my_user; GRANT EXECUTE ON dbo.ml_add_dnet_connection_script to my_user; GRANT EXECUTE ON dbo.ml_add_dnet_table_script to my_user; GRANT EXECUTE ON dbo.ml_add_java_connection_script to my_user; GRANT EXECUTE ON dbo.ml_add_java_table_script to my_user; GRANT EXECUTE ON dbo.ml_add_lang_conn_script_chk to my_user; GRANT EXECUTE ON dbo.ml_add_lang_connection_script to my_user; GRANT EXECUTE ON dbo.ml_add_lang_table_script to my_user; GRANT EXECUTE ON dbo.ml_add_lang_table_script_chk to my_user; GRANT EXECUTE ON dbo.ml_add_missing_dnld_scripts; GRANT EXECUTE ON dbo.ml_add_passthrough to my_user; GRANT EXECUTE ON dbo.ml_add_passthrough_repair to my_user; GRANT EXECUTE ON dbo.ml_add_passthrough_script to my_user; GRANT EXECUTE ON dbo.ml_add_property to my_user; GRANT EXECUTE ON dbo.ml_add_table_script to my_user; GRANT EXECUTE ON dbo.ml_add_user to my_user; GRANT EXECUTE ON dbo.ml_delete_device to my_user; GRANT EXECUTE ON dbo.ml_delete_device_address to my_user; GRANT EXECUTE ON dbo.ml_delete_listening to my_user; GRANT EXECUTE ON dbo.ml_delete_passthrough to my_user; GRANT EXECUTE ON dbo.ml_delete_passthrough_repair to my_user; GRANT EXECUTE ON dbo.ml_delete_passthrough_script to my_user; GRANT EXECUTE ON dbo.ml_delete_remote_id to my_user; GRANT EXECUTE ON dbo.ml_delete_sync_state to my_user; GRANT EXECUTE ON dbo.ml_delete_sync_state_before to my_user; GRANT EXECUTE ON dbo.ml_delete_user to my_user; GRANT EXECUTE ON dbo.ml_delete_user_state to my_user; GRANT EXECUTE ON dbo.ml_lock_rid to my_user; GRANT EXECUTE ON dbo.ml_qa_add_delivery to my_user; GRANT EXECUTE ON dbo.ml_qa_add_message to my_user; GRANT EXECUTE ON dbo.ml_qa_handle_error to my_user; GRANT EXECUTE ON dbo.ml_qa_stage_status_from_client to my_user; GRANT EXECUTE ON dbo.ml_qa_staged_status_for_client to my_user; GRANT EXECUTE ON dbo.ml_qa_upsert_global_prop to my_user; GRANT EXECUTE ON dbo.ml_ra_add_agent_id to my_user; GRANT EXECUTE ON dbo.ml_ra_assign_task to my_user; GRANT EXECUTE ON dbo.ml_ra_cancel_notification to my_user; GRANT EXECUTE ON dbo.ml_ra_cancel_task_instance to my_user; GRANT EXECUTE ON dbo.ml_ra_clone_agent_properties to my_user; GRANT EXECUTE ON dbo.ml_ra_delete_agent_id to my_user; GRANT EXECUTE ON dbo.ml_ra_delete_events_before to my_user; GRANT EXECUTE ON dbo.ml_ra_delete_task to my_user; GRANT EXECUTE ON dbo.ml_ra_get_agent_events to my_user; GRANT EXECUTE ON dbo.ml_ra_get_agent_ids to my_user; GRANT EXECUTE ON dbo.ml_ra_get_agent_properties to my_user; GRANT EXECUTE ON dbo.ml_ra_get_latest_event_id to my_user; GRANT EXECUTE ON dbo.ml_ra_get_orphan_taskdbs to my_user; GRANT EXECUTE ON dbo.ml_ra_get_remote_ids to my_user; GRANT EXECUTE ON dbo.ml_ra_get_task_results to my_user; GRANT EXECUTE ON dbo.ml_ra_get_task_status to my_user; GRANT EXECUTE ON dbo.ml_ra_int_cancel_notification to my_user; GRANT EXECUTE ON dbo.ml_ra_int_move_events to my_user; GRANT EXECUTE ON dbo.ml_ra_manage_remote_db; GRANT EXECUTE ON dbo.ml_ra_notify_agent_sync to my_user; GRANT EXECUTE ON dbo.ml_ra_notify_task to my_user; GRANT EXECUTE ON dbo.ml_ra_reassign_taskdb to my_user; GRANT EXECUTE ON dbo.ml_ra_set_agent_property to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_agent_auth_file_xfer to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_download_ack to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_download_prop to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_download_remote_dbs to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_download_task to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_download_task2; GRANT EXECUTE ON dbo.ml_ra_ss_download_task_cmd to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_end_upload to my_user; GRANT EXECUTE ON dbo.ml_ra_ss_upload_prop to my_user; GRANT EXECUTE ON dbo.ml_ra_unmanage_remote_id to my_user; GRANT EXECUTE ON dbo.ml_reset_sync_state to my_user; GRANT EXECUTE ON dbo.ml_set_device to my_user; GRANT EXECUTE ON dbo.ml_set_device_address to my_user; GRANT EXECUTE ON dbo.ml_set_listening to my_user; GRANT EXECUTE ON dbo.ml_set_sis_sync_state to my_user; GRANT EXECUTE ON dbo.ml_upload_update_device_address to my_user; GRANT EXECUTE ON dbo.ml_upload_update_listening to my_user; |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |