November 12, 2008
在 Oracle 和 PHP 中绑定变量
"\u003cp\u003e作者:Larry Ullman通过绑定变量提高 Oracle 驱动的 PHP 应用程序的速度和安全性。本文相关下载:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/software/products/database/oracle10g/index.html\"\u003eOracle 数据库 10 \u003cem\u003eg\u003c/em\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html\"\u003eOracle Instant Client\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/products/jdev/htdocs/partners/addins/exchange/php/index.html\"\u003eOracle JDeveloper PHP Extension\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/tech/php/zendcore/index.html\"\u003eZend Core for Oracle\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e想必您一定知道,当前的大多数网站都依赖数据库,只是方式各有不同。 无论您正在构建的站点需要论坛、电子商务组件、包含大量文章和信息还是仅仅从访问者那里获得反馈,您都很可能会通过某种方式并入数据库。 尽管数据库很重要并通常是不可或缺的,但使用它们会影响(通常是不利影响) Web 应用程序的两个方面: 性能和安全性。 了解何时以及如何在 PHP 中绑定变量将对改善这两个问题方面大有帮助。\u003c/p\u003e\n\u003cp\u003e如果您曾经对 Web 项目进行过测试,想必您一定会知道数据库交互通常是要求最高的过程。 在数据库中运行查询时,Oracle 必须先对查询进行分析,以确保它的语法正确,然后才执行实际的查询。 即使您运行多个相似查询也必须先进行分析:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eSELECT * FROM movies WHERE movie_id=1 …\u003c/code\u003e\u003c/pre\u003e"
November 12, 2008
利用 Oracle 和 PHP 轻松处理树
"\u003cp\u003e作者:Nick Bollweg利用一流的查询和函数,轻松处理层次数据。本文相关下载:\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/pub/files/bollweg_easytrees_sample.zip\"\u003e示例代码和清单\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/software/products/database/oracle10g/index.html\"\u003eOracle 数据库 10 \u003cem\u003eg\u003c/em\u003e Express 版\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html\"\u003eOracle 即时客户端\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"http://oracleimg.com/admin/images/ocom/bullet_5x5.gif\" alt=\"\"\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/products/jdev/htdocs/partners/addins/exchange/php/index.html\"\u003e为 PHP 提供的 Oracle JDeveloper 扩展\u003c/a\u003e2005 年 12 月发表\u003c/p\u003e\n\u003cp\u003e几乎每一种数据驱动的应用程序都依赖于某种形式的、不同复杂程度的层次数据:产品类别中的产品、文件夹中的消息、部门中的员工。当然,某些时候您将需要显示这些数据来创建一个目录、收件箱或组织架构的图表。利用 Oracle 提供的特定供应商的 SQL 扩展和 PHP 在数组处理方面的出色能力,您可以检索并显示一个树,并且以简洁和易于维护的方式对树进行内在的高度优化。\u003c/p\u003e\n\u003cp\u003e因为本文讨论的查询和函数都包含较少的过程,而注重提供更条理清晰,易于理解的代码,因此这篇方法文档在实施的时候以及重构现有代码的时候非常有用。如果您的数据拥有树状的数据形式(目前已经显示或者要取其值),那么本方法文档将会很有价值。使用最新推出的优秀 RDBMS 的用户非常幸运,因为新的特性使得一些棘手的处理层次数据的任务变得更为容易 — 虽然自 Oracle8_i_ 起的 …\u003c/p\u003e"
November 12, 2008
Oracle+PHP 简明手册
"\u003cp\u003e\u003ca href=\"http://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/index.html\"\u003ehttp://www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/index.html\u003c/a\u003e\u003c/p\u003e"
November 12, 2008
oracle添加用户,赋权,修改密码,解锁
"\u003cp\u003e\u003cstrong\u003e添加用户(随着用户的创建,自动产生与用户同名的schema)\u003c/strong\u003e\nCREATE USER “TESTER” PROFILE “DEFAULT” IDENTIFIED BY “TESTER” DEFAULT TABLESPACE “TESTDATA” TEMPORARY TABLESPACE “TESTTEMP” ACCOUNT UNLOCK;\u003c/p\u003e\n\u003cp\u003e赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)\n据说生产环境下,只是connect resource这样的角色就可以了。\nGRANT “CONNECT” TO “TESTER”;\nGRANT “RESOURCE” TO “TESTER”;\nGRANT “DBA” TO “TESTER”;\nGRANT “EXP_FULL_DATABASE” TO “TESTER”;\nGRANT “IMP_FULL_DATABASE” TO “TESTER”;\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e用户修改密码,解锁\u003c/strong\u003e\nALTER USER “SCOTT” IDENTIFIED BY “*\u003cstrong\u003e*\u003c/strong\u003e*”\nALTER USER “SCOTT” ACCOUNT UNLOCK …\u003c/p\u003e"
November 12, 2008
ORACLE用户常用数据字典的查询使用方法
"\u003cp\u003e查看当前用户的缺省表空间\nSQL\u0026gt;select username,default_tablespace from user_users;\u003c/p\u003e\n\u003cp\u003e查看当前用户的角色\nSQL\u0026gt;select * from user_role_privs;\u003c/p\u003e\n\u003cp\u003e查看当前用户的系统权限和表级权限\nSQL\u0026gt;select * from user_sys_privs;\nSQL\u0026gt;select * from user_tab_privs;\u003c/p\u003e\n\u003cp\u003e查看用户下所有的表\nSQL\u0026gt;select * from user_tables;\u003c/p\u003e\n\u003cp\u003e显示用户信息(所属表空间)\nselect default_tablespace,temporary_tablespace\nfrom dba_users where username=’GAME’;\u003c/p\u003e\n\u003cp\u003e**1、用户\n**\n查看当前用户的缺省表空间\nSQL\u0026gt;select username,default_tablespace from user_users;\u003c/p\u003e\n\u003cp\u003e查看当前用户的角色\nSQL\u0026gt;select * from user_role_privs; …\u003c/p\u003e"
November 12, 2008
第二章:oracle中的索引
"\u003cp\u003e1,索引\u003c/p\u003e\n\u003cp\u003e与表关联的可选结构\u003c/p\u003e\n\u003cp\u003e加快SQL语句的执行\u003c/p\u003e\n\u003cp\u003e减少磁盘I/O\u003c/p\u003e\n\u003cp\u003eCREATE INDEX 语句用于创建索引\u003c/p\u003e\n\u003cp\u003e在逻辑上和物理上独立于表中的数据\u003c/p\u003e\n\u003cp\u003eORCALE自动维护索引\u003c/p\u003e\n\u003cp\u003e2,唯一索引\u003c/p\u003e\n\u003cp\u003e确保在定义索引的列中没有重复的值\u003c/p\u003e\n\u003cp\u003eORACLE自动为主键列和唯一键列创建唯一索引\u003c/p\u003e\n\u003cp\u003eCREATE UNIQUE INDEX 语句用于创建唯一索引\u003c/p\u003e\n\u003cp\u003e//创建唯一索引的语法 CREATE UNIQUE INDEX index_name on table_name(column_name);\u003c/p\u003e\n\u003cp\u003e//例:\u003c/p\u003e\n\u003cp\u003eSQL\u0026gt; create unique index idx_stuId on student(studentid);\u003c/p\u003e\n\u003cp\u003e3:组合索引\u003c/p\u003e\n\u003cp\u003e在表的多个列上创建的索引\u003c/p\u003e\n\u003cp\u003e也称为“连接索引”\u003c/p\u003e\n\u003cp\u003e组合索引中的列可以按任意顺序排列\u003c/p\u003e\n\u003cp\u003e对于在WHERE子句中包含多个列的查询,可以提高数据访问速度\u003c/p\u003e\n\u003cp\u003e//\u003c/p\u003e\n\u003cp\u003e创建组合索引的语法\u003c/p\u003e\n\u003cp\u003eCREATE INDEX index_name on table_name(cloumns_list);\u003c/p\u003e\n\u003cp\u003e//例:\u003c/p\u003e\n\u003cp\u003eSQL\u0026gt; create index idx_empNoAndDeptNo on …\u003c/p\u003e"
November 12, 2008
用一个实例讲解oracle数据库中的connect resource权限
"\u003cp\u003econnect resource权限;\u003c/p\u003e\n\u003cp\u003e grant connect,resource to user;\u003c/p\u003e\n\u003cp\u003e 后用户包括的权限:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCONNECT角色: –是授予最终用户的典型权利,最基本的\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e ALTER SESSION –修改会话\u003c/p\u003e\n\u003cp\u003e CREATE CLUSTER –建立聚簇\u003c/p\u003e\n\u003cp\u003e CREATE DATABASE LINK –建立数据库链接\u003c/p\u003e\n\u003cp\u003e CREATE SEQUENCE –建立序列\u003c/p\u003e\n\u003cp\u003e CREATE SESSION –建立会话\u003c/p\u003e\n\u003cp\u003e CREATE SYNONYM –建立同义词\u003c/p\u003e\n\u003cp\u003e CREATE VIEW –建立视图\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eRESOURCE角色: –是授予开发人员的\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e CREATE CLUSTER –建立聚簇\u003c/p\u003e\n\u003cp\u003e CREATE PROCEDURE –建立过程\u003c/p\u003e\n\u003cp\u003e CREATE SEQUENCE –建立序列\u003c/p\u003e\n\u003cp\u003e CREATE TABLE –建表\u003c/p\u003e\n\u003cp\u003e CREATE TRIGGER –建立触发器\u003c/p\u003e\n\u003cp\u003e CREATE TYPE –建立类型\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e从dba_sys_privs里可以查到:\u003c/strong\u003e SQL\u0026gt; select …\u003c/p\u003e"
November 12, 2008
找回oracle的户名和密码
"\u003cp\u003eCMD下 输入 SQLPLUS /NOLOG\n然后再在出来的界面中打入 CONN /AS SYSDBA\n这样就会以本地系统登录的用户为信任用户进入数据库的操作\nALTER USER SYS IDENTIFIED BY “123”;\n这样就可以将SYS的密码改为123 或者改SYSTEM的密码,都一样。\u003c/p\u003e\n\u003cp\u003e这样你就可以用SYS用户随心所欲了。\u003c/p\u003e\n\u003cp\u003e另一种是新增用户:\nCREATE USER MaoMao IDENTIFIED BY “123”;\n新增MaoMao后改变她的权限就可以了,改变用户权限的命令是:\nGRANT ROLES TO MaoMao;\u003c/p\u003e\n\u003cp\u003e还有另一种更简便的方法,在本机CMD下 输入 SQLPLUS SYS AS Sysdba\n然后要求输密码时按Enter即可,进入后自行改密码…\u003c/p\u003e"
November 12, 2008
卸载windows服务
"\u003cp\u003e 与“服务控制器”和已安装设备进行通讯。SC.exe 检索和设置有关服务的控制信息。可以使用 SC.exe 来测试和调试服务程序。可以设置存储在注册表中的服务属性来控制如何在启动时和作为后台程序运行时启动服务应用程序。SC.exe 的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务。可以生成批处理文件来调用不同的 SC.exe 命令以自动启动或关闭服务序列。SC.exe 提供的功能类似于“控制面板”中“管理工具”项中的“服务”。\u003c/p\u003e\n\u003cp\u003e 打开CMD后,运行SC命令得到如下help信息:\u003c/p\u003e\n\u003cp\u003e描述:\n SC 是用于与服务控制管理器通信的命令行程序。\n用法:\n sc [command] [service name] …\n 选项 的格式为 “\u003ca href=\"file://%20%20ServerName/\"\u003e\\ServerName\u003c/a\u003e”\n 可以键入 “sc [command]”以获得命令的进一步帮助\n 命令:\n query———–查询服务的状态,\n 或枚举服务类型的状态。 …\u003c/p\u003e"
November 12, 2008
MySQL数据库向Oracle转换时注意若干问题
"\u003cp\u003e 有很多应用项目, 刚起步的时候用MySQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MySQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MySQL迁到 Oracle的需求,应用程序也要相应做一些修改。本人总结出以下几点注意事项,希望对大家有所帮助。\u003c/p\u003e\n\u003cp\u003e 1. 自动增长的数据类型处理 MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。 Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。\u003c/p\u003e\n\u003cp\u003e CREATE SEQUENCE 序列号的名称 (最好是表名 序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL\u003c/p\u003e\n\u003cp\u003e 2. 单引号的处理 MySQL里可以用双引号包起字符串,Oracle里只可以用单引号包起字符串。在插入和修改字符 …\u003c/p\u003e"
November 12, 2008
link和@import引用css文件方法的区别
"\u003cp\u003e元素所参考的样式用户可以自由的选择加以改变,而导入的样式表单就自动的与剩下的样式表融合在一起了\u003c/p\u003e\n\u003cp\u003eCSS与HTML文档结合的4中方法:\u003c/p\u003e\n\u003cp\u003e1 使用元素链接到外部的样式文件\u003c/p\u003e\n\u003cp\u003e2 在元素中使用”style”元素来指定\u003c/p\u003e\n\u003cp\u003e3 使用CSS “@import”标记来导入样式表单\u003c/p\u003e\n\u003cp\u003e4 在内部的元素中使用”style”属性来定义样式\u003c/p\u003e\n\u003cp\u003e一个例子:\u003c/p\u003e\n\u003cp\u003ecss demo\u003c/p\u003e\n\u003cp\u003e第一种是直接在html页面上进行css书写,而第二种和第三种是采用外部引用样式单独提取文件。\u003c/p\u003e\n\u003cp\u003e问题1.到底link和@import有什么区别?\u003c/p\u003e\n\u003cp\u003e我们先来看看他们的定义\u003c/p\u003e\n\u003cp\u003elink元素\u003c/p\u003e\n\u003cp\u003eHTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息。这些额外资源可以是样式化信息(CSS)、导航助手、属于另 外形式的信息(RSS)、联系信息等等。\u003c/p\u003e\n\u003cp\u003e@import\u003c/p\u003e\n\u003cp\u003e指定导入的外部样式表及目标设备类型。\u003c/p\u003e\n\u003cp\u003e其实link和@import的最根本区别就是,\u003cstrong\u003elink\u003c/strong\u003e 是一个 \u003cstrong\u003ehtml\u003c/strong\u003e 的一个标签 ,而**@import** 是 \u003cstrong\u003ecss\u003c/strong\u003e 的一个标签 ,\u003c/p\u003e\n\u003cp\u003elink除了调用css外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等, …\u003c/p\u003e"
November 11, 2008
char和varchar2的区别
"\u003cp\u003e区别:\n1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc”,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。\n2.CHAR的效率比VARCHAR2的效率稍高。\n3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。\u003c/p\u003e\n\u003cp\u003e何时该用CHAR,何时该用varchar2?\n CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.\nVARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在 …\u003c/p\u003e"
November 11, 2008
用PHP调用Oracle存储过程
"\u003cp\u003e PHP程序访问数据库,完全可以使用存储过程,有人认为使用存储过程便于维护,不过仁者见仁,智者见智,在这个问题上,偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变,则显然难以维护。\u003c/p\u003e\n\u003cp\u003e 但是使用存储过程至少有两个最明显的优点:速度和效率。使用存储过程的速度显然更快。\n 在效率上,如果应用一次需要做一系列SQL操作,则需要往返于PHP与ORACLE,不如把该应用直接放到数据库方以减少往返次数,增加效率。\n但是在INTERNET应用上,速度是极度重要的,所以很有必要使用存储过程。\n偶也是使用PHP调用存储过程不久,做了下面这个列子。\u003c/p\u003e\n\u003cp\u003e代码:-\u003c/p\u003e\n\u003cp\u003e//建立一个TEST表\nCREATE TABLE TEST (\n ID NUMBER(16) NOT NULL,\n NAME VARCHAR2(30) NOT NULL,\n PRIMARY KEY (ID)\n);\u003c/p\u003e\n\u003cp\u003e//插入一条数据\nINSERT INTO TEST VALUES (5, ‘PHP_BOOK’);\u003c/p\u003e\n\u003cp\u003e//建立一个存储过程\nCREATE OR …\u003c/p\u003e"
November 11, 2008
apache 中控制虚拟主机的php功能
"\u003cp\u003e使用情况分以下两种:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一,在httpd.conf中配置了全局使用php脚本,则使用下面的方法\u003c/strong\u003e\n在虚拟主机的设置小节中添加php_flag engine on/off 字串7\u003c/p\u003e\n\u003cp\u003e如: 字串9\nServerName xxxxxx.com\nphp_flag engine off\nserveralias \u003ca href=\"https://www.xxxxxx.com\"\u003ewww.xxxxxx.com\u003c/a\u003e\nServerAdmin \u003ca href=\"mailto:[email protected]\"\[email protected]\u003c/a\u003e\nDocumentRoot “/home/xxxxxx/htdocs”\nhaohtml.com\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e二.没有在httpd.conf中配置执行php脚本功能\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e在虚拟主机配置中这样改:\u003c/p\u003e\n\u003cp\u003e 把 AddType application/x-httpd-php .php 这句话放到需要运行php的虚拟主机的配置中\u003c/p\u003e\n\u003cp\u003e #这个虚拟主机不能运行php\u003c/p\u003e\n\u003cp\u003e ServerAdmin \u003ca href=\"mailto:[email protected]\"\[email protected]\u003c/a\u003e\n DocumentRoot d:/www.haohtml.com/\n ServerName \u003ca href=\"http://www.haohtml.com/\"\u003ewww.haohtml.com\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e # …\u003c/p\u003e"