问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle adf 怎么给table导入数据

发布网友 发布时间:2022-04-12 16:17

我来回答

2个回答

懂视网 时间:2022-04-12 20:38

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 2006 年 11 月发布 最近,我所工作的机构(威斯康星大学伊奥克莱尔分校)将一个用 Cobol 编写且运行在 Unisys 大型机上的老旧系统的一部分移植到了 Java/J2EE 环境中。我们的 IT 小组主要使用开放源

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

2006 年 11 月发布

最近,我所工作的机构(威斯康星大学伊奥克莱尔分校)将一个用 Cobol 编写且运行在 Unisys 大型机上的老旧系统的一部分移植到了 Java/J2EE 环境中。我们的 IT 小组主要使用开放源代码工具(包括 Eclipse、Tomcat 和 Spring)来编写应用程序。但是,许可方式上的更改使我们可以考虑 Oracle 工具,因此我们使用 Oracle JDeveloper 10g 和 Oracle 应用程序开发框架 (ADF) 编写了一个应用程序来测试开发模型。本文将对该应用程序进行描述,从而快速而详细地介绍如何使用 Oracle ADF 进行 UI 开发。(有关更进一步的技术信息,请参阅 Oracle 技术网上的 Oracle ADF 教程和 Oracle ADF 开发人员指南、Oracle ACE Steve Muench 在 Oracle 杂志上内容精彩的 ADF 专栏以及 Oracle JDeveloper 论坛中的评论。)

在本文中,我不会描述构建应用程序所需的每一个步骤,但希望这里的信息足以使您作出自己的决策。本文假设您十分了解 Java,熟悉 Eclipse 或 JDeveloper,并具有普通编程知识。(我没有在每个步骤后提醒您 Save All,但该步骤不应省略。)

改变给定体系结构和开发模型总是很困难,因此我将首先提供一些背景知识,以说明 JDeveloper 和 ADF 的价值所在,从而证明这种转变的有利性。我还会在一个单独的部分中提供一些“提示与技巧”。

背景

当前应用程序直接使用了 Java (JDK 1.5)、Spring(MVC、Web Flow、JDBC 模板)和 JSP 页面。数据也复制到了一个 Oracle 数据库 10g 第 2 版数据库中。尽管我们了解如何使用 JBoss Hibernate 作为对象关系映射 (ORM) 工具,但我们的数据访问既不复杂也不是动态的,而且 Spring JDBC 模板已经充分满足了我们的需要。

由于我们在生产中使用的是 Oracle 数据库 10g 第 2 版,因此在基于 Windows 的试用版中使用 Oracle 数据库 10g 快捷版 (XE)(Oracle 数据库的免费入门级版本)顺理成章,我们希望能够在其中轻松地访问数据。在决定使用 Oracle 的 TopLink ORM 工具后使用 Oracle 数据库也很有意义,这样我们就可以轻松地将映射移植到其他数据源(如果决定使用测试用例作为生产应用程序的基础)。我们对 XE 所作的唯一更改就是在系统主页中更改系统全局区 (SGA),以减少它使用的内存。

我们选择的 TopLink 比预期的效果还要好,因为它抽象了许多使用 JDBC 甚至接口(如 Spring 的 JDBC 模板)的繁复的详细信息。(Dustin Marx 在 OTN 上的“在 JDBC 编程中添加一些 Spring 代码”一文中提供了一个优秀示例,该示例使用 JDBC 模板,无需配置复杂的 Spring 环境。)JBoss Hibernate 是一个出色的 ORM 工具,但在端到端 ADF 解决方案中集成 TopLink 映射的能力也令人大开眼界并且非常高效。

根据 Oracle 的建议,我们创建了一个 EJB 会话 Bean 来封装对数据库的访问。这只有在应用程序和数据库之间有一个层(以便在其中根据需要使用业务逻辑)的情况下才有意义。迄今为止,我们的应用程序中没有任何需要状态的事物,而使用 Session Facade 设计模式时通常会需要状态。

使用 ADF 的一个标准步骤是创建一组能够访问数据信息库的数据控件,我们将遵循该原则。在不需要业务逻辑的情况下(通常是查询,有时是更新和删除),通过 UI 控件直接访问信息十分高效。在较复杂的情况下,可以通过在会话 Bean 方法中包含业务规则实现来应用业务规则。(ADF 开发人员指南第 1.1 章很好地说明了 ADF 和 JSF 如何协同工作以提供高效的开发环境。)

我们还使用标准的 JSF 导航创建了一组 jspx 文件。尽管我们熟悉 Struts,但这里并不使用它。我们将使用 jspx 文件,因为这是 Oracle 建议的做法。

JDeveloper 10.1.3 在整个项目中充当 IDE。这可能很明显,但忘了提醒您它无法识别 JDeveloper 在构建 ADF 应用程序的过程中所扮演的基本角色。JDeveloper 是一个 Java 开发工具,但它还可以为您提供对 TopLink、ADF UI 及数据访问控件的功能、JSF 功能以及 XML 和 JSP 文件的端到端访问,还可以提供测试部署和数据库访问环境。

同时,当您在 JDeveloper 中编辑文件时,系统会自动在窗口中调整更改,您在使用 Eclipse 和其他 IDE 时通常看不到这些更改。这些更改提供了各种视图和编辑方法,因此学习使用 JDeveloper 的丰富功能是有一定难度的。您需要了解在哪里双击、何时使用 Structure 和 Data Control 窗口、何时在属性编辑器中设置值,以及(偶尔)何时使用 Source 窗口并编写 Java 或 JSP 代码。

项目

我们的项目是一个简单的学生会银行帐户。所需的基本功能是输入和编辑支出与存款。该项目基本上是 ADF 教程中描述的功能子集,因此熟悉 SRDemo 的人可以识别出其中许多元素。SRDemo 是一个完整的示例应用程序,您可以通过 JDeveloper 的 Help 下拉菜单中的“检查更新”机制下载该应用程序。该程序包含完整的源代码,ADF 开发人员指南使用它来说明如何使用 ADF 进行开发。

第 0 阶段:构建应用程序的初始设置

第 1 步:使用 JSF、EJB 和 TopLink 模板创建一个新的 Web 应用程序。(另请参阅 Oracle ADF 教程 1-10。)选择模板并不重要,所有选项都可用,即使它们最初没有被选中。通过该模板,创建标准的 Model 和 ViewController 项目,从而保留应用程序的前端和后端。您应该设置默认程序包名称,因为在创建 Java 类时,该名称可在 JDeveloper 中用作默认名称。

第 2 步:设置数据库。尽管我们可以尝试使用 New Gallery 的 Database Tier 中的 Offline Database Objects,但我们先前已经创建了所需的 SQL,以使用一组表(3 个)创建模式。我们登录到 XE Web 界面,并使用脚本(您可以在 SQL Command 页面上的引用中找到该脚本)创建了用户和表。为这些表指定主键很重要,这样至少可以使 TopLink 具有足够的信息来生成更复杂的映射:
  • Account 用于保存有关帐户的基本信息。
  • Details 用于保存所有帐户的交易信息。
  • Manager 是与帐户关联的个人列表。
  • 为了填充表,我们编写了一个使用 DBUnit 的 Java 应用程序,并使用引用中的数据集创建了一个 CampusAccounts.xml 文件。如果愿意,您可以克隆 XML 元素来扩展数据集。由于这是应用程序中的第一个 Java 类,我们选择在 Model 项目中创建一个 New/General/Java 类,以便创建程序包。然后,将类的主体复制并粘贴到新创建的类中。如果类已经创建,我们将选择 File/Import 选项将 Java Source 复制到 Model 项目中。

    public static void main(String[] argv) throws Exception {
     Class driverClass = Class.forName("oracle.jdbc.OracleDriver");
     Connection jdbcConnection = 
      DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", 
         "CampusAccounts", "xxxxxx");
     IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
    
     IDataSet dataSet = new FlatXmlDataSet(new File("c:\CampusAccounts.xml"));
    
     try {
      DatabaseOperation.CLEAN_INSERT.execute(connection, dataSet);
     } 
     finally {
      connection.close();
     }
     }
    
    主要片段的主体演示了利用 DBUnit 功能是多么简单。它显示了用于连接到 Oracle Database XE 数据库的 URL,这也是标准 Oracle JDBC 驱动程序的名称。

    但是,您需要在项目中添加一个来自 DBUnit 的 jar 文件和一个库,以编译代码。首先,您需要从 DBUnit zip 文件中提取 jar 文件。从 Model 项目的 Properties 中,选择 Libraries/Add Jar,然后将 DBUnit jar 文件添加到项目中。通过从 Model 属性中选择 Libraries/Add Library,您可以添加 Oracle JDBC 库,该库包含 Oracle JDBC 驱动程序。一旦 jar 文件和库可用,就可以使用 JDeveloper 的 Alt-Enter 代码完成选项自动添加所需的导入。(确保导入了 java.sql.Connection。)要运行该 Java 应用程序,请在 Applications 窗口中选择该文件和绿色箭头。一旦连接创建(下一步),就简单多了。

    [1] [2] [3] [4] [5] [6] [7] [8]

    热心网友 时间:2022-04-12 17:46

      SQL Server导出:
    要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返 回任何输出。”下面为定义示例:

    EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"servername" -U"sa" -P""'

    --参数:S 是SQL服务器名;U是用户名;P是密码,没有就空着

    --说明:其实用这个过程导出的格式实质上就是文本格式的,不信的话在导出的Excel表中改动一下再保存看看。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    cad里面打完字怎么还原十字架 财务建帐需要什么 建账建账的基本要求 当爱情与亲情需要丢弃一样时,你会选择丢弃哪一方 当爱情和亲情有冲突时你会怎样决择?你会为你所爱的人不顾一切吗? 剑网三 查看余额 因为某些特殊原因不好登陆游戏查看,求其他方式_百度知 ... 右肺上叶中叶结节灶怎么回事 节能门窗有哪些标准 节能门窗有哪些 节能门窗具有哪些特征 40岁女人吃什么保养品 升级win10后怎么更新显卡驱动 西华大学在中国大学排行500强中占多少位? 西华大学怎么样? 西华大学郫都区校区面积 西华大学彭州校区情况怎么样呢? 西华大学 地址 西华大学如何? 西华大学本部怎么样…请知道的人进来说说,学习风气好不好,本部面积大概多少亩? 西华大学没有更名为四川工业大学究竟是出于什么样的考虑? 西华大学与成都大学本部哪个面积大?最好说明数据 西华大学在成都市什么方位? 详细介绍西华大学!!! 西华大学占地面积好大? 大家认为西华大学怎么样? 西华大学校本部 有多大面积? 请问西华大学本部面积有多大? 日本抹茶道文化很有特点,你有哪些认识与了解呢? 中国是茶的原产地,为何茶道却成为日本的特色文化? 你知道日本茶道文化吗?它有哪些特点? 南昌公交租凭的电话号码是多少?求大神帮助 南昌公交IC卡成人卡丢失了要带哪些东西去补办 去南昌县公交车? 母亲节的手工要怎么做 南昌201路公交站务电话号码? 南昌 公交卡去哪办? 中华气功大全网的介绍 项目大全网是真的吗? 南昌县办理公交卡电话是多少 神话故事大全网的网站简介 团购大全网的使命 跪求国剧大全网免费,【在线观看】免费百度云资源 电脑知识大全网的网站内容 南昌市836公交车最近是不是停开? 神话故事大全网的介绍 讨厌做饭怎么办! 微信刷脸支付只有少数机型支持,具体有几款手机谁知道? 有什么作文网站吗? 不想做饭怎么办呢? 就是不喜欢做饭,没兴趣我该怎么办,做出来也不好吃,给家人?