FLEX用AMFPHP开发ORACLE应用

  网上的教程大都是用AMFPHP去开发MYSQL数据库的,但是对于大中型数据库ORACLE怎么与AMFPHP的配置、开发却讲得很少,大多都只是讲到访问phpinfo.php能看到OCI8驱动的信息为止了,且还错误重重。由于我单位使用的数据库使用的是ORACLE数据库,因此想使用FLEX结合AMFPHP开发一些应用,因此研究了一下午,这个过程还挺艰辛,所以写下来,以便那些同样需要开发ORACLE的网友们少走弯路。

  PHP的安装就不多说了,我用的是phpStudy绿色版,解到一个目录中就可以使用了,如果你的机器上有APACHE和MYSQL,要先停掉原先的应用。

  然后是安装AMFPHP,这个很简单,下载后解到PHP的WWW目录下,打开AMFPHP目录中的gateway.php这个配置文件,将编码设置改为$gateway->setCharsetHandler("iconv", "gb2312", "gb2312");  ,因为一般ORACLE的默认字符是GB2312或是GBK的,因此要改成与你ORACLE服务器字符集相同的配置。不然显示出来会是乱码。

  下一步是进行ORACLE客户端的配置,这里请注意一定要安装Oracle10g的客户端,我的机器用的是oracle8的客户端死活在phpinfo中不出现OCI的驱动,浪费了我许多时间。因此请先去安装instantclient,现在的最新版本是instantclient-basic-win32-11.1.0.7.0.zip这个压缩包,在oracle网站上就有,自己去搜一下。下了之后,随便先个目录解压缩,比如是C:/OracleClient/Bin,并且要将这个路径添加到系统变量path中去,而且这里要说明的一点,最好添加在path路径的开头,因为我的原来的Oracle客户端是8.0的,因此在path路径中也有8.0的路径,如果不将Oracle的路径加在前面,PHP会去先找8.0的目录,会认为Oracle客户端是8.0的系统,而加载失败。再在系统变量里面加一个TNS_ADMIN的变量,把值也设为C:/OracleClient/Bin。最后PHP.ini里面的extension=php_oci8.dll,extension=php_pdo_oci.dll,extension=php_pdo_oci8.dll要打开,去掉前面的;就行了。

  经过了上面的配置在浏览器中打开phpinfo.php应该能看到OCI安装成功的信息了。下面讲一下怎么样写AMFPHP的服务,用的是PDO的驱动。

  在AMFPHP的Services目录下建立OracelConn.php文件,内容为:

这是一个数据库连接的类,以便主程序调用。

再建立oracleClient.php,这个就是AMFPHP与ORACLE进行数据库存取的操作了,下面是内容:

上面的代码有一点要说明,用AMFPHP访问MYSQL数据库,只要

就行了,但是oracle就必须要按照上面的方法输出才能有返回值,不然就是null。

这样服务端的代码就写好了。下回写FLEX的代码,待续吧......

接下来写FLEX程序

下面发两张运行后的截图

运行效果1

运行效果2

效果不错吧,用FLEX开发还是很简单的,如果你愿意,可以在上面加上分页的代码,或者是增加、删除、修改的功能。好了,以后有时间再讲一些高级的应用。

猜你喜欢

转载自blog.csdn.net/dingzz/article/details/4604688