5.处理数据库表中的自增字段 对于需要加载的含有自增字段的表,即该表的 ixf 数据文件中有自增列的值, 可以在 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 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/) # 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 系统的应用系统移植过程,读者亦可以参考具体的移植过程,将其应用于其它平台之上。
1). modified by identityignore :加载的数据文件中有自增字段值,load 时忽略数据文件中自增字段值 ;
2). modified by identitymissing :加载的数据文件中没有自增字段值,load 时自动生成自增字段值 ;
Compiled in modules:
# tar zxvf php-4.4.4.tar.gz
?>
结束语

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

禅工作室 13.0.1
功能强大的PHP集成开发环境

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具