成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

基于DB2及PHP的應用系統跨平臺遷移詳細步驟(二)

瀏覽:6日期:2024-02-22 15:13:26

5.處理數據庫表中的自增字段

對于需要加載的含有自增字段的表,即該表的 ixf 數據文件中有自增列的值, 可以在 load 命令中加入如下參數控制自增字段值:1). modified by identityignore :加載的數據文件中有自增字段值,load 時忽略數據文件中自增字段值 ;

2). modified by identitymissing :加載的數據文件中沒有自增字段值,load 時自動生成自增字段值 ;

3). modified by identityoverride :加載的數據文件中有自增字段值,load 時使用數據文件中的自增字段值 。

為了使目標數據庫中含有自增字段的表中數據與源數據庫中的數據保持一致,本文實例中選擇使用 modified by identityoverride 參數,在導入數據時使用數據文件中的自增字段值。讀者可以根據不同情況選擇適當的控制參數。

首先,在 srcdb1_tables.ddl 文件中查找所有包自增字段的表名 ( 含有 GENERATED ALWAYS AS IDENTITY 字段的表 ),然后在 srcdb1_load.sql 中將 modified by identityoverride 語句片段插入到這些含有自增字段的表所對應的 load 命令行中。

清單8. load 腳本中自增字段處理

db2 load from test.ixf of ixf modified by identityoverride insert into TEST;

6.執行導出腳本

執行導出腳本,導出所有表的數據 。

# db2 -tvf srcdb1_export.sql

導出的表數據以 ixf 格式存放于當前路徑下。

7.保存腳本和數據文件

將所有 DDL 腳本以及數據文件 *.ixf 復制到目標系統所在站點。

LINUX 系統上的操作

1.通過命令行處理器(CLP)創建實例 SRCDB1:

# db2icrt SRCDB1

2.使用 CREATE DATABASE 命令創建數據庫 SRCDB1,創建必要的表空間及配置必要的數據庫參數。

# db2 create database SRCDB1

3.連接到數據庫 SRCDB1,執行 srcdb1_tables.ddl 腳本創建緩沖池,表空間,UDF,表以及 Index,Sequence,視圖等數據庫對象。

# db2 connect to srcdb1

# db2 -tvf srcdb1_tables.ddl

4.進入到放置 .ixf 數據文件的目錄,執行下面的命令導入表數據。

# db2 -tvf srcdb1_load.sql

5.使用 srcdb1_foriegnkeys.ddl,srcdb1_triggers.ddl ,srcdb1_procedures.ddl 腳本文件創建外鍵約束,觸發器和存儲過程。

# db2 -tvf srcdb1_foriegnkeys.ddl

# db2 -tvf srcdb1_triggers.ddl

# db2 -tvf srcdb1_procedures.ddl

成功完成上述步驟后,數據庫的遷移工作基本完成。

Apache 服務器與 php 的安裝和配置

Apache 服務器的安裝和配置

Apache HTTP 服務器是一個模塊化的軟件,管理員可以通過選擇服務器中包含的模塊進行功能增減。模塊可以在編譯時被靜態包含進httpd二進制文件,也可以編譯成獨立于httpd二進制文件的動態共享對象 (DSO)。DSO 模塊可以與服務器一起編譯,也可以用 Apache 擴展工具 (apxs) 單獨編譯。動態加載的方式相比靜態加載具有更高的靈活性。使用動態載入特性,Apache 服務器必須以動態共享對象(DSO,Dynamic Shared Object)的方式編譯。Apache 對 DSO 的支持,是基于一個叫 mod_so 的模塊來實現的,為支持動態加載方式,這個模塊必須預先被靜態編譯到內核中。因此可以通過 mod_so 模塊檢測已安裝的 Apache 是否支持 DSO:

清單9. mod_so 模塊檢測

# $APACHEHOME/bin/httpd –l

Compiled in modules:

core.c

prefork.c

http_core.c

mod_so.c

如果在列出的模塊名中有 mod_so.c,則說明安裝的 Apache 已經支持 DSO,否則需要重新編譯 Apache。Apache 的安裝和配置過程十分簡單,如下所示:

1.下載 httpd-2.0.54.tar.gz(http://httpd.apache.org/),并將其解壓到制定目錄

# tar zxvf httpd-2.0.54.tar.gz && cd httpd-2.0.54

2.編譯安裝 apache

# ./configure --prefix=/usr/local/apache2 --enable-module=so

-- prefix 指定 apache 的安裝路徑

--enable-module=so 將 so 模塊(mod_so)靜態編譯進 apache 服務器的內核,以支持 DSO 模式

# make && make install

3. 啟動 apache

# ln -s /usr/local/apache2/bin/apachectl /sbin/apachectl

# apachectl start

php 的安裝和配置

在 php 的安裝和配置過程中,有兩個方面需要注意,首先是 php 與 apache http server 的結合,其次是 php 與 db2 數據源的連接。

在 Apache 環境下安裝 PHP 的時候,有三種安裝模式可供選擇:靜態模塊、動態模塊(DSO)和 CGI。建議以 DSO 模式安裝,這種模式的維護和升級都相對簡單,可以在無需重新編譯 Apache 的條件下,根據需求動態增加新功能模塊。當然,這樣做也會帶來一些運行效率上的下降,Apache 服務器在啟動時會慢約 20%。

PHP 連接 DB2 數據源同樣有三種方式 : unified ODBC driver、IBM_DB2 和 PDO(php data object)。

◆unified ODBC driver 是最早的 PHP 訪問數據庫的擴展模塊之一。從 DB2 v7.2 開始,unified ODBC driver 就支持對其的訪問。對所有支持 ODBC 的數據庫,unified ODBC driver 提供了統一的數據訪問接口。為了保證接口的一般性,unified ODBC driver 并未對不同類型的數據庫做特定的優化。

◆IBM_DB2 是由 IBM 開發和維護的與 DB2 數據源交互的擴展模塊,它遵守開源協議。對基于 DB2 UDB 和 php 4.x 的應用來說,IBM_DB2 是最優的選擇,因為它針對 DB2 UDB 進行了優化,同時避免了一些使用 unified ODBC driver 時可能存在的兼容性問題。不過,IBM_DB2 只支持 DB2 v8.2.2 或更高版本。

◆PDO 則是 php 5.x 中即將支持的新的數據庫訪問方式。本文中,由于源數據庫與目標數據庫的版本均為 DB2 v8.1,并且源環境中采用 unified ODBC driver 的方式,為了保持環境配置的一致性,仍然選擇 unified ODBC driver 作為 php 與數據源的訪問接口。

PHP 的安裝與配置過程具體如下:

1.下載并解壓 php-4.4.4.tar.gz(http://www.php.net/)

# tar zxvf php-4.4.4.tar.gz

# cd php-4.4.4

2.配置編譯 php 源代碼

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --without-mysql --with-ibm-db2=/home/reportdb/sqllib

--prefix 指定 php 的安裝路徑

--with-apxs2 指定 apxs 程序的路徑 (apxs 是一個 perl 腳本,它可以脫離 apache 的源碼將 php 模塊編譯成 DSO 文件 )

--with-ibm-db2 指定 unified ODBC driver 作為 php 與數據源的訪問接口,并指定 DB2 的實例安裝目錄。

--without-mysql 忽略 mysql 數據庫缺省的安裝配置

#cp php.ini-dist /usr/local/lib

將 php 安裝文件中的 php.ini-dist 拷貝到 /usr/local/lib 下作為 php 的配置文件。

# make && make install

# cp php.ini-dist /usr/local/lib/php.ini

3.編輯 /usr/local/apache2/conf/httpd.conf 文件,做如下修改:

設置 html 文件主目錄:用于存放網站所需 web 文件的主目錄

DocumentRoot '/home/web/www/'

設置 apache 的默認文件名的次序: apache 將按照由前至后的順序在當前路徑下查找其所支持的默認主頁文件

DirectoryIndex index.php index.html.var index.cgi index.html

添加 php 解釋文件后綴:對于所有需要被 PHP 解釋的文件類型,需要將后綴添加至 AddType 配置項

AddType application/x-httpd-php .php .inc

加載 PHP 模塊:加載模塊目錄 modules 下的庫 libphp4.so,并將模塊結構名 php4_module 添加到活動模塊列表中

LoadModule php4_module modules/libphp4.so

4.編輯配置文件 /usr/local/apache2/bin/apachectl :

為保證與 DB2 數據庫的連通,啟動 Apache 服務時,需要同時初始化 DB2 客戶機實例環境。創建 DB2 實例時,DB2 會自動生成 shell 腳本用于初始化所需的 DB2 實例環境,只需直接調用即可:

if test -f /home/reportdb/sqllib/db2profile; then

. /home/reportdb/sqllib/db2profile

fi

5.然后,重新啟動 Apache 服務器以繼承上面的配置更改。

# apachectl restart

6.編寫 PHP 的測試文件 test.php,內容如下:

echo phpinfo();?>

將其存放在 apache 的 html 文件主目錄 /home/web/www 下,通過瀏覽器訪問該網頁,若能正常訪問(如下圖所示),則配置工作全部完成。

結束語

本文主要涵蓋了一個基于 php 和 DB2 UDB 的應用系統的跨平臺移植過程,詳細介紹了 DB2 數據庫系統的跨平臺遷移以及 Apache 服務器與 php 應用系統的安裝和配置過程。基于實踐經驗,為 DB2 數據庫系統的跨平臺遷移問題提供了一個可行的解決方案。對于移植過程中可能出現的問題,本文也給予詳細的描述并提供相應的解決方案。雖然本文所涉及的只是從 AIX 系統到 LINUX 系統的應用系統移植過程,讀者亦可以參考具體的移植過程,將其應用于其它平臺之上。

標簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
www亚洲一区| 亚洲日本乱码在线观看| 国产精品久久免费看| 成人精品视频网站| 欧美区视频在线观看| 青青国产91久久久久久| 亚洲伊人观看| 亚洲精品乱码久久久久久黑人| 欧美国产综合| 久久综合精品国产一区二区三区| 激情文学综合网| 欧美无砖砖区免费| 久久精品国产久精国产爱| 在线精品视频免费观看| 奇米影视一区二区三区| 久久综合九色综合网站| 亚洲成人三级小说| 亚洲欧美不卡| 亚洲已满18点击进入久久| 99成人精品| 亚洲男同1069视频| 在线精品亚洲| 亚洲欧洲精品一区二区三区| 国内自拍一区| 国产精品不卡在线观看| 国内精品久久国产| 1000精品久久久久久久久| 在线观看成人av电影| 亚洲欧洲日韩av| 中文网丁香综合网| 亚洲国产精品久久久男人的天堂 | 99视频在线精品国自产拍免费观看| 国产精品福利一区| 亚洲精品1区| 亚洲在线观看免费视频| 一本一道综合狠狠老| 激情综合五月天| 精品奇米国产一区二区三区| 99久久精品国产精品久久| 日本一区二区视频在线观看| 狠色狠色综合久久| 亚洲男人的天堂在线aⅴ视频| 亚洲深爱激情| 午夜精品视频一区| 欧美男生操女生| 成人美女视频在线观看| 国产色一区二区| 国内自拍一区| 亚洲国产乱码最新视频| 欧洲视频一区二区| 国产精品88888| 欧美精品一区二区精品网| 午夜国产精品视频| 亚洲自拍欧美精品| 色88888久久久久久影院按摩| 激情欧美一区二区| 日韩精品一区二区三区四区| 欧美日韩高清在线一区| 伊人一区二区三区| 在线看一区二区| 成人免费毛片高清视频| 中文字幕国产一区二区| 国产精品美女| 极品销魂美女一区二区三区| 精品国精品国产尤物美女| 欧美国内亚洲| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区在线免费观看| 亚洲色大成网站www久久九九| 日本高清无吗v一区| 懂色av中文一区二区三区| 久久久精品影视| 亚洲片区在线| 激情综合网天天干| 久久婷婷色综合| 日韩一级不卡| 狠狠久久亚洲欧美| 国产日韩欧美一区二区三区乱码| 国产日韩亚洲| 国产乱子伦一区二区三区国色天香| 久久亚洲精品国产精品紫薇| 国产日韩免费| 国产一区二区三区av电影| 久久久不卡网国产精品一区| 一本久道久久久| 黑人精品欧美一区二区蜜桃 | 热久久一区二区| 久久综合九色综合97_久久久| 9色国产精品| 国产精品正在播放| 中文字幕亚洲在| 欧美日韩另类一区| 国产精品成人观看视频免费| 日精品一区二区| 欧美精品一区二区三区蜜桃| 免费在线成人| 91女厕偷拍女厕偷拍高清| 日韩专区中文字幕一区二区| www欧美成人18+| 美女91精品| 99精品1区2区| 日日摸夜夜添夜夜添国产精品| 久久久久久黄色| 91高清视频在线| 欧美精品v日韩精品v国产精品| 秋霞av亚洲一区二区三| 国产精品午夜在线| 欧美日韩视频第一区| 亚洲午夜视频| 国产乱人伦精品一区二区在线观看| 亚洲男人的天堂在线观看| 日韩三级精品电影久久久| 国产精品永久入口久久久| gogogo免费视频观看亚洲一| 日韩精品一级二级| 国产精品欧美久久久久一区二区| 在线不卡的av| 欧美亚洲免费高清在线观看| 91免费视频网址| 精品一区二区三区免费| 亚洲色大成网站www久久九九| 91精品国产欧美一区二区成人| 国产精品毛片在线| 94-欧美-setu| 激情综合网av| 亚洲国产日产av| 中文字幕乱码日本亚洲一区二区| 91精品婷婷国产综合久久性色 | 99视频国产精品免费观看| 成人蜜臀av电影| 欧美国产视频在线| 日韩中文字幕区一区有砖一区 | 久久aⅴ乱码一区二区三区| 国产精品一区二区三区四区五区 | 日韩av不卡在线观看| 国产欧美日韩久久| 正在播放一区二区| 亚洲综合国产激情另类一区| 欧美日韩在线一二三| 国产91精品欧美| 久久成人免费网站| 性久久久久久久| 日韩美女视频一区二区| 亚洲精品在线免费观看视频| 欧美午夜一区二区| 18成人在线观看| 欧美日韩蜜桃| 久久久久国产精品麻豆ai换脸 | 久久久福利视频| 欧美日韩精品免费观看视频完整| 国产精品一区二区你懂的| 日本网站在线观看一区二区三区 | 成人精品在线视频观看| 九九在线精品视频| 日本视频一区二区| 亚洲一区二区三区视频在线播放| 国产精品久久看| 国产色产综合色产在线视频| 精品久久久久久久人人人人传媒 | 大白屁股一区二区视频| 国内成人精品2018免费看| 日日噜噜夜夜狠狠视频欧美人| 亚洲欧美另类小说| 中文字幕亚洲综合久久菠萝蜜| 久久精品亚洲精品国产欧美kt∨| 日韩视频免费直播| 欧美日本韩国一区二区三区视频| 欧美专区日韩专区| 91福利国产精品| 一本到高清视频免费精品| 国产亚洲毛片在线| 亚洲国产导航| 亚洲国产免费| 91久久久久| 亚洲少妇诱惑| 新狼窝色av性久久久久久| 国产精品视频久久一区| 一区二区三区久久网| 日韩视频一区| 国产欧美成人| 亚洲一区欧美二区| 亚洲一区二区在线免费观看| 国产一级精品aaaaa看| 国产精品夜夜夜一区二区三区尤| 在线视频精品一区| 亚洲欧洲在线一区| 99精品国产一区二区青青牛奶| 极品少妇一区二区三区| 国产自产在线视频一区| 好吊视频一区二区三区四区| 好看的av在线不卡观看| 亚洲欧洲日本国产| 免费一区二区三区| 久久久久久自在自线| 91国偷自产一区二区三区成为亚洲经典 | 欧美日韩高清影院| 日韩一区二区三区四区五区六区| 欧美一二三四在线| 精品99一区二区三区| 国产欧美日韩另类一区|