Oracle APEX 学习心得.doc_第1页
Oracle APEX 学习心得.doc_第2页
Oracle APEX 学习心得.doc_第3页
Oracle APEX 学习心得.doc_第4页
Oracle APEX 学习心得.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

APEX 简介这一部分主要使读者熟悉 APEX 的基本概念、环境和使用。本部分介绍了APEX 主要特性,三个组件(应用程序构建器、SQL 工作室、实用工具)和四类用户。本部分回答了以下问题:什么是 APEX? 用 APEX可以做什么?何时使用 APEX?(所有贴出来的例子均可在登录jjl//jjl.soft查看)什么是APEX?刚刚来到上海,叫我们研究学习一个APEX的东西,一听很新鲜,画面也比form好看,因为是在浏览器看,当时第一反应就是浏览器,那这个是个什么架构,数据会慢嘛?结果一看官方文档发现架构原来是这样,看来担心似乎多余了.Oracle 推荐的环境配置查阅其他资料得到一下对于APEX的阐释:,APEX是一个用于 Oracle 数据库的快速 Web 应用程序开发工具。APEX 结合了个人数据库的品质如生产效率、易用性和灵活性,企业数据库的品质如安全性、集成性、可伸缩性和可用性,以及针对Web构建三个方面的优点。APEX 是一个构建 Web 应用程序的工具,而且应用程序开发环境也基于 Web,非常方便。只需在 注册一个帐户即可试用 APEX。开发、部署或运行 APEX 应用程序无需客户端软件。APEX 提供三大工具: 应用程序构建器(Application Builder) 创建数据库驱动的动态 web 应用程序。SQL工作室(SQL Workshop) 浏览数据库对象,运行 SQL 查询、PL/SQL程序以及图形化的查询构建器。实用程序(Utilities) 允许从纯文本和电子表格上载和下载数据。所谓上载数据是指将文本文件或电子表格中的数据导入到数据库中。所谓下载数据是指将数据库中的数据保存到文本文件或电子表格中。 APEX可以做什么? 当然,看了一天文档就在想APEX能做的东西能具体到哪儿,于是就开始做一些demo,最开始做的当然就是APEX很强大的报表,以及单一表的表单,以及一些列表啊.日期控件,还有就是关于对这个APEX的布局.这些都很简单,只需要自己动手做做基本就可以了.比stepbysetp还要简单,(所有贴出来的例子均可在登录jjl//jjl.soft查看,此处程序名称是zhengwu_demo1)接下来就在想 要是我是一个头行结构的表单应该怎么弄,于是就把之前项目上的一个简单的头行的form拿来放在这apex环境下来实现.最后也勉强做出来,存在的问题和form的比较有:1,值列表的返回,APEX只支持返回单个值,且select语句必须有且只有2个字段,当然显示字段可以通过|拼接.2,没有form那么丰富的触发器,只能实现form的简单基本的功能.(所有贴出来的例子均可在登录jjl//jjl.soft查看,此处程序名称是主从_demo1)做到这里就开始想,这个APEX能否处理复杂的逻辑或者其他的什么跟plsql相关的呢,于是就又开始着手做了一个模拟plsql界面的sql_window.也就是我们做一个报表,上面开个文本框,我们可以在里面写sql语句,对这个表的数据控制.支持批量执行insert,update,delete语句.(所有贴出来的例子均可在登录jjl//jjl.soft查看,此处程序名称是bruce_sqlcommand)最后发现是可以的,具体就是,写一个包写好,包的内容是关于如何处理这个文本框中文本,然后在点下执行sqlbutton的时候,调用下,就ok了.做完感觉貌似APEX还是很强大的.应该能够支持动态sql来生成程序.查阅其他资料还有相关如下:APEX 是构建数据库数据报表应用程序的有效工具。报表通常与其他报表进行超文本链接,允许用户以web 站点的导航方式浏览数据库数据。报表中的列可轻松链接到其他报表、图表和数据项表单,这都是以声明方式完成的。一个全面的图表引擎允许以图形方式表示 SQL 查询,从而可以更有效地进行数据通信。APEX 还非常适合编辑数据库数据并支持大量声明性表单控件,包括单选按钮组、复选框、选择列表、梭形按钮、文本编辑器和日期选择器。 何时使用APEX? 犹豫在这边具体的开发项 还有具体的开发环境,所以一直推迟着,关于什么时候使用,也是模糊的.查阅其他资料:由于其易用性,APEX 旨在快速构建机会性和部门级应用程序。这些应用程序部署在 web 上,具有优越性能。以前,部门、原型和小项目依赖桌面数据库提供快速的开发工具,以满足这些规模较小的或部门级应用程序开发的需求。桌面数据库可能非常零散,因为它们在多处保存数据,它们可能非常脆弱或者不适用于敏感信息,而且它们通常不是 web 友好的。基于浏览器的设计时界面(声明式编程框架)和简单的向导使 APEX 成为多用户桌面数据库应用程序(例如,Microsoft Access)的理想替代品。SQL Savvy 应用程序开发人员还可以体会到易用性,因为您即使具有很少的 web 体验甚至没有该体验也可以创建数据库应用程序。无需学习脚本语言或复杂的部署框架,只需编写几个查询并从已经构建好的用户界面主题和表单控件中选择即可创建高度专业、安全且可伸缩的应用程序。 使用 APEX,开发是高度声明式的。这意味着很多情况下,您不需要编写任何代码,而由您与向导和属性表进行交互,就可完成程序开发。SQL 语言用于定义报表和图表,因此懂一些 SQL 知识很有帮助。可选择使用 PL/SQL 编写代码段(如果需要过程逻辑)。声明式开发给开发人员带来较少的差异,该一致性使 APEX 应用程序易于维护和管理。 APEX 引擎从存储在数据库表中的数据实时呈现应用程序。当您创建或扩展应用程序时,APEX 创建或修改存储在数据库表中的元数据。当应用程序运行时,APEX 引擎读取元数据并显示应用程序。APEX 完全驻留在 Oracle 数据库中。它仅由表中的数据和大量 PL/SQL 代码组成。APEX 大约由 215 个表和 200 个 PL/SQL 对象(包含 300,000 多行代码)组成。为了在应用程序内提供有会话状态行为,APEX 以透明的方式在数据库中管理会话状态。应用程序开发人员可以使用简单的替换以及标准的 SQL 绑定变量语法获取和设置会话状态。 APEX 主要特性 以下几部分介绍了 APEX 的主要特性。报表:使用 APEX,可快速生成显示 SQL 查询的 HTML 报表。还能以 HTML、PDF、RTF(兼容 Microsoft Word)和 XLS(兼容 Microsoft Excel)格式下载和打印报表。可通过声明方式将各个报表链接在一起提供下钻报表,并使用绑定变量将信息从会话状态传递至报表。报表支持声明式列标题排序、分组控制、汇总以及分页。报表排序和分页可以使用部分页面刷新 (PPR) 技术来避免刷新整个页面。还可以向报表添加声明式链接,以将报表数据下载为 CSV 或 XML 格式。此外,您可以使用模板对报表外观进行自定义。表单:使用向导,可以基于表或存储过程轻松创建表单。基于表创建表单时,这些向导将自动管理插入、更新、删除以及缺失更新检测等操作。一旦创建了表单,就可使用直观显示的界面重新排列表单域(称为表单项),以快速获得想要的布局。表单项提供了丰富的显示选项,包括文本域、文本区、单选按钮组、选择列表、复选框、日期选 择器、弹出式值列表等。 图表:还可使用向导创建 HTML、SVG 或 Flash 图表。此外,可创建图表来支持用户从一个图表下钻至另一个图表或报表。可使用部分页面刷新 (PPR) 技术刷新图表以避免刷新整个页面。也可将图表配置为按指定间隔刷新。此外,还可利用报表列模板向任意报表添加简单的 HTML 条形图。 电子表格上载:使用电子表格向导中的 Create Application 可快速地将电子表格数据直接上载至数据库中。您可以选择将数据存储在新的数据库表中,或将其添加至现有数据库表。一旦上载了数据,就可以快速创建应用程序了。通过这个方便的向导,只需单击几下,就可以实现电子表格与共享应用程序之间的切换。 会话状态管理:APEX 以透明的方式管理数据库中的会话状态(或应用程序上下文)。表单将自动保存会话状态,记住会话中应用程序的上下文。在 SQL 和 PL/SQL 内引用会话状态就像使用绑定变量般简单。例如,请看以下 SELECT 语句: SELECT * FROM EMP WHERE EMPNO = :P1_ID在本例中,P1_ID 项中的值在运行查询时自动进行绑定。还可通过给项名称加上前缀 & 符号和后缀句点 (.) 在静态上下文内引用会话状态,例如:&P1_NAME.对于二维数据集的管理,APEX 提供了一个强健的集合基础架构。最值得一提的是,会话管理是无会话状态的,不会消耗内存。 用户界面主题:APEX 将显示(或用户界面主题)与应用程序逻辑相分离。您可以用一个主题设计应用程序,然后更改为另一个附带主题,或者创建和使用自己的自定义的主题。通过将应用程序逻辑(如查询、流程以及分支)与 HTML 呈现分离,应用程序可在第一时间利用新设计和其他技术,而无需重写应用程序。 流控制和导航:每个 Web 应用程序都需要导航,而每个动态应用程序都需要流控制。APEX 提供了内置的组件,简化了导航控件的开发和维护。导航是通过使用声明式选项卡(一级或二级)、路径式导航项、树控件以及链接列表来进行控制的。而流控制是通过使用可在特定事件以及一定条件下起作用的声明式分支来实现的。由于导航控件的外观通过模板控制,因此可轻松更改导航控件的外观。 所有组件上的条件控制:创建动态 Web 应用程序时,许多应用程序组件和处理都是具有条件的。换言之,您只能基于应用程序上下文、数据、事件或权限显示或处理特定的信息。APEX 使您能够以声明方式指定所有组件的条件性。这使得您可以精确控制用户可在选项卡、按钮、项目、列表项等上看到的内容。 外部接口和可扩展性:尽管 APEX 为构建应用程序提供了强健的声明式环境,但您还是可以选择开发自定义界面或控件。例如,如果一个组件不符合环境需要,您可以使用 PL/SQL 生成自己的自定义 HTML。您还可以使用 Web 服务调用外部服务。APEX 包含的 API 可以方便将电子邮件警报集成到应用程序中。此外,因为 APEX 驻留在 Oracle 数据库中,所以您可以利用数据库本身的功能,如外部表、PL/SQL、数据库链接、网关以及数据库 Java 来扩展应用程序功能。APEX中也允许使用JavaScript、CSS以及AJAX等技术。安全性:利用 APEX,您可以创建无需用户登录的公共应用程序,或创建要求身份验证的安全应用程序。APEX 提供了许多内置的身份验证模式(包括一次性登录、数据库帐户证书)和一个易于使用的用户管理系统。您还可使用可与任何身份验证服务(包括 Microsoft Active Directory 和 Oracle Applications)交互的自定义模式。 此外,您可自定义身份验证以满足环境要求,并选择性地对整个应用程序、页面或页面组件应用身份验证。最后,您还可利用创新的会话状态保护特性来防止 URL 篡改,利用内置特性来保护应用程序免受 SQL 注入攻击和跨站点脚本编写 (XSS) 攻击。 SQL Workshop 工具:SQL Workshop 提供的工具支持从 Web 浏览器查看和管理数据库对象。使用 SQL 命令运行 SQL 和 PL/SQL 语句。Query Builder 支持通过拖放表格定义查询,轻松创建对象间的关联。Object Browser 提供了一个易于使用的图形用户界面,可用于查看、创建、浏览以及删除数据库对象。最后,您可使用 SQL 脚本工具创建、编辑、查看、运行以及删除脚本文件。 Supporting Objects 实用程序:通过创建一个打包应用程序,您可以简化在另一个 APEX 中导出和安装应用程序所需的步骤。使用 Supporting Objects 实用程序,您可以通过脚本处理应用程序定义,以创建数据库对象、种子数据、图像、层叠样式表和 JavaScript。打包的应用程序的创建可向应用程序用户提供类似于安装程序的体验,并使在另一个开发、测试甚至是生产实例中导入并安装应用程序的过程自动化。性能:APEX 可为应用程序开发人员和应用程序用户提供极高级别的性能。因为 APEX 驻留在 Oracle 数据库中,所以其对网络流量影响甚小。此外,Application Builder 还有许多监视报表,使你能够识别并调整应用程序性能。 打包的应用程序:打包的应用程序是一个可以使用和自定义的功能齐全的应用程序。打包的应用程序不仅阐释 APEX 应用程序的有趣示例,还提供立即有用的战术性业务应用程序。打包的应用程序可立即运行 它们提供数据库模式、种子数据、图像、应用程序定义以及您所需的一切,安装只需使用向导即可完成。托管开发:APEX 支持在单个数据库中托管大量用户。用户在一个称为工作区的专用工作区域中工作。这种灵活的体系结构使单个数据库实例可以管理数千个应用程序。您可确定供应(或创建)工作区的过程的工作方式。在请求供应模式下,用户在登录页面上使用链接来请求一个工作区。工作区请求批准后,用户会收到一封包含链接的电子邮件,用户必须单击链接来验证其电子邮件地址的有效性。然后他们收到一封具有其登录凭据的电子邮件。APEX 工作区和用户类型应用APEX来开发应用程序的准备工作可按如下步骤进行:1) 安装Oracle数据库2) 安装 APEX,参见附录13) 登录APEX管理界面,创建工作区,创建工作区用户4) 登录APEX工作区,开发应用程序现在假设Oracle数据库和Oracle APEX 已经安装,我们来看一下如何创建工作区及工作区用户。那么,什么是工作区(workspace)?简单的说,工作区就是用户用来开发应用程序的地方。工作区是一个虚拟的私有数据库,它能使多个用户同时使用相同的APEX实例,而能保持其数据库对象和应用程序为私有,互不影响,互相看不到对方的工作从而也不会影响互相的工作。每一个工作区都有一个唯一的ID和名称。在一个APEX实例中,可以只创建一个工作区,由所有开发人员共享使用。也可以创建多个工作区,在每个工作区内完成指定项目,并且只允许项目开发人员访问其项目所在的工作区。项目开发人员要使用工作区,必须先要有APEX用户帐号,并且使用此用户帐号登录到工作区。APEX用户帐号分为4种不同的类型:n APEX管理员:这是超级用户,负责管理整个的APEX实例,其中既包括服务的管理,也包括工作区的管理。在安装APEX时,默认创建了一个这样的用户,名为admin,口令是安装APEX时设置的。n APEX开发人员:这是可以创建和修改应用程序的用户。开发人员属于某个工作区。一个工作区可以有多个开发人员。n APEX工作区管理员:当一个开发人员被授予对他所属的工作区的管理权限时,他就成为了工作区管理员。工作区管理员可以在他的工作区中添加新的用户、创建新的用户组和查看使用报告。n APEX最终用户:这是没有开发和管理权限的用户,只有运行应用程序的基本权限。要注意区分APEX用户和Oracle数据库用户。这是完全不同的概念。Oracle数据库用户经适当授权(用GRANT语句)后,可以登录数据库,创建、使用各种数据库对象。但Oracle数据库不能够登录APEX环境。APEX用户也无权直接登录数据库(例如,使用CONNECT命令)。但是,APEX开发人员可以在自己的工作区内通过SQL工作室访问和使用工作区关联模式(schema,有的书上也称为方案)内的数据库对象。首先,登录APEX管理界面。在浏览器中输入URL::8080/apex/apex_admin(参见附录11.4确认安装成功)。此时,会显示登录画面:使用admin用户登录APEX,可见下图:点击“管理工作区”,可见下图:工作区是多个开发者创建应用程序的共享工作区域。每个工作区都具有作为一个或多个数据库方案进行语法分析的权限。使用上图中的“创建工作区”、“删除工作区”链接,可进行工作区的创建和删除。一个工作区可以关联到一个或多个数据库方案,使用上图中的“管理工作区到方案的分配” 链接可以添加更多方案到工作区。使用上图中的“管理开发者和用户” 链接可以创建、删除APEX用户,也可重设APEX用户口令,解锁APEX用户帐号。以上操作都是基于向导来完成的,或直接通过页面操作完成,比较简单,在这里就不再赘述,由读者自己来探索完成。安装、运行演示程序由于开发没有具体的环境,所以项目经理叫我们研究如何把apex安装到一个新环境,但是由于没有测试环境,所以这个任务我暂时就是在自己的虚拟机(培训的时候用的),最后安装失败了,但是我觉得跟我的虚拟机有关.真想有个环境在弄一把,目前这个可怜的虚拟机被弄的面目全非了安装心得如下:总共我安装了3次,前2次非常失败,后面一次算好的,在第三次的基础上又重新配置了5,6次rest data service.最后都是没有成功,总结了下,前2次失败的原因是因为第一,原先自带的apex删掉比较好第二,安装apex的时候,还是强烈建议自己定义表空间第三,在我的虚拟机安装jdk(6.0以上,原本自带的应该是4.0)之后,应该要删掉原来的版本.否则java version不对,而且最后执行jar也会报错-参考文档/s/blog_828efd6501019rl3.html-Application Express Installation Guide(e21673)(较详细)-APEX_EBS_Extension_White_Paper_-_Revision_1b(概括性的)1,10g自带3.0的apex,remove掉 apxremov.sql2,安装:CONNECT SYS/SYS_password as SYSDBAapexins.sql SYSAUX SYSAUX TEMP /i/ /errorWWV_FLOW_API.ERR_PAGE_CREATE ORA-01400: cannot insert NULL into(APEX_040200.WWV_FLOW_STEPS.SECURITY_GROUP_ID)declare*ERROR at line 1:ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_PLUG_TO_PAGE_FK) violated- parent key not foundORA-06512: at APEX_040200.WWV_FLOW_API, line 9434ORA-06512: at line 113,修改admin密码 (apex)apxchpwd.sql(有复杂规则)4,此处应该有restartProcess (没有做出来)5,配置RESTful Servicesapex_rest_config.sql(该命令让你配置APEX_LISTENER和APEX_REST_PUBLIC_USER的密码)可能会报错/ERROR at line 1:ORA-01400: cannot insert NULL into(APEX_040200.WWV_FLOW_FND_USER_GROUPS.ID)ORA-06512: at APEX_040200.WWV_FLOW_LISTENER, line 382ORA-06512: at APEX_040200.WWV_FLOW_LISTENER, line 457ORA-06512: at line 3/ 6,解锁更改APEX_PUBLIC_USER的密码ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCKALTER USER APEX_PUBLIC_USER IDENTIFIED BY SYS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论