APACHE PHP5 ORACLE设置
在windows 下配置PHP使用ORACLE数据库要点
在window下,经常用apache + PHP 来做应用平台,但是如果使用oracle做后台数据库,但又没有安装有oracle客户端,下面的配置可以参考
1、在没有安装oracle的机器上,PHP无法加载php_oci8.dll模块,原因是php_oci8.dll依赖的相关组件没有找到。
你正确设置了extension_dir = "C:\Apache\php\ext\"
并且打开了 extension=php_oci8.dll
但是查看apache的日志(在logs/error.log中),发现类似的错误
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\Apache\\php\\ext\\php_oci8.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0
那就会是上面描述的情况,使用oracle8扩展需要 Oracle 客户端库。Windows 用户需要至少版本号为 10 的库才能使用 php_oci8.dll。
到这个地址下载需要的版本 http://www.oracle.com/technology/tech/oci/instantclient/index.html
不过,下载需要一个注册才可以,如果你已经注册过,那么登录就可以了,你下载后是一个zip包,只需把那个包解压到一个目录中
比如 c:\oracle_client\ 那么,把这个地址加到 path中即可
但是这样还不够,还需要设置 TNS_ADMIN 这个变量,把这个变量的值设置为 tnsnames.ora文件所在的目录即可。
下面是tnsnames.ora的例子
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
下面是一个测试例子
<?php
$connection = oci_connect("hr", "pass","orcl","UTF8");
$query = "SELECT * from user_tables";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
// 打印执行结果
print '<table border="1">';
while($row = oci_fetch_array($statement, OCI_NUM)) {
 
相关文档:
因为工作需要,数据库使用的MS SQL Server2005,而默认的排序规则是SQL_Latin1_General_CP1_CI_AS。创建了一个表,因为需要存储中文信息,Address字段的类型是nvarchar(255)。
此时使用php来连接sql server,页面的编码和文件的编码都是UTF-8,查询此Address字段,显示在页面上是???之类的。怎么解决?
使用
iconv('iso- ......
某数据库中的一张表A,表A的数据库量现在大概有10亿条数据之多.
最初的做法是全部存放在一个表空间中.造成现在的查询速度龟爬似的.现在不得不对数据库做出重新评估和优化.
最初的前提:
1.中应该建立的索引都已具备
2.查询语句都已经做到优化:现在类似于 select count(1) from A 这么简单的一句统计SQL都需要100S左右
ta ......
oracle9i卸载
1,在服务中停止oracle的所有服务
2,在程序了卸装所有Oracle产品,(但Universal Installer本身不能被删除)
3,删除注册表:
(1)运行regedit选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,删除这个项
(2)选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle,删除这个项.
(3),选择HKEY_LOCAL_MACHI ......
1. 分区表
Oracle
建议如果单个表超过2G就最好对其进行分区。
对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快;
1)
Range分区
Range分区呢是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列 ......