当前位置: 首页 > news >正文

全景网站开发多少钱/做销售记住这十句口诀

全景网站开发多少钱,做销售记住这十句口诀,网站编辑如何做原创,网站内做二级目录[数据库]Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法0 2020-06-19 18:01:48最近在工作中遇到了遇到了一个需求需要将TIPTOP中的数据导出成首先 每个Oracle版本对应的OJVM的版本是不一样的我的Oracle 版本是 Database 11g Release 2 对应的…

[数据库]Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法

0 2020-06-19 18:01:48

最近在工作中遇到了遇到了一个需求需要将TIPTOP中的数据导出成

首先 每个Oracle版本对应的OJVM的版本是不一样的我的Oracle 版本是 Database 11g Release 2 对应的是jdk1.6 所以写Java代码的时候要注意版本号,其次这个功能是默认关闭的所以需要先安装OJVM,脚本安装语法如下(使用sys用户登陆sqlplus安装):

安装JVM运行环境@?/javavm/install/initjvm.sql

卸载JVM运行环境@?/javavm/install/rmjvm.sql

查询OJVM是否安装成功SELECT * FROM DBA_REGISTRY WHERE COMP_ID = 'JAVAVM';

bc91bb04e6e9c61e24c974e4440db8f2.gif

执行脚本时间比较长要耐心等待一会,安装完成后需要根据Java文件类型来选择导入语句

LoadJava参数有-u(用于输入用户名及密码)

-v(用于输出详细的反馈信息)

-resolve(对于没有编译的Java文件可以用resolve来编译)

-f(不管之前是否已经导入过该Java类,都强制再次导入)

当导入Class文件时,可以用如下命令:loadjava –u username/userpassword –v filename.class

当删除Class文件时,可以用如下命令:dropjava –u username/userpassword –v filename.class

当导入Java文件时,可以用如下命令:loadjava –u username/userpassword –v -resolve filename.java

当删除Java文件时,可以用如下命令:dropjava –u username/userpassword –v filename.java

当导入jar文件时,可以用如下命令:loadjava –u username/userpassword –v -resolve filename.jar

当删除jar文件时,可以用如下命令:dropjava –u username/userpassword –v -resolve filename.jar

如果是比较简单的Java方法可以直接使用PL/SQL进行编写,需要调用的方法必须是public static 修饰的(Java方法若需要用到其他价包,报找不到类的错或要用到数据库中的数据 将在下一个博客中说到)create or replace and compile java source named JavaName as [Java代码]

当使用这种方法的时候可以在PL/SQL 左边的Java Sources 文件夹中找得到源码并编辑,如果导入的是.Java或.Jar格式的就只能在Java Classes 文件夹中找得到并且不能用PL/SQL编辑.

bc91bb04e6e9c61e24c974e4440db8f2.gif

如果导入正常的话使用下面的语句可以查询已经导入的Java类,查询出来的状态必须是"VALID",否则Oracle则不能调用必须解决报错信息重新导入才能调用SELECT OBJECT_ID, OBJECT_NAME, OBJECT_TYPE, STATUSFROM USER_OBJECTSWHERE OBJECT_TYPE LIKE 'JAVA%'

bc91bb04e6e9c61e24c974e4440db8f2.gif

以上代码都执行完成后就可以将Java代码封装成成Oracle 方法(function) ,存储过程(Procedures) 这2个主要是返回值的区别 如果有返回值可以封装成function ,没有返回值可以封装成Procedures,如果有多个返回值...emmmm Java没有多个返回值=。= 我需要封装成function则封装的语句如下:CREATE OR REPLACE FUNCTION FunctionName(str1 NVARCHAR2, str2 NVARCHAR2, str3 NVARCHAR2, str4 NVARCHAR2, str5 NVARCHAR2) RETURN NVARCHAR2 AS LANGUAGE JAVA NAME 'com/xxx/xxx/xxx/xxx.ClassName(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.String';

这个语句需要注意2点其一就是Java方法的包名需要用“/”分割而类名用“.” 这个当时卡了很久算是一个坑,其二Java方法的传入类型要和数据库类型相对应例如: NVARCHAR2和String ,更详细的对应关系可以看Oracle 官方的文档

bc91bb04e6e9c61e24c974e4440db8f2.gif

那如果需要传入的是一大堆表数据呢? 其实这种类型对应并不支持复杂的类型,要想获得复杂数据 需要在Jar包中加入JDBC包使用JDBC来建立查询语句来获取数据 获取JDBC的Connection对象的时候可以可以这样写,不用写数据库链接名和账号密码,可以直接使用数据库的连接。Connection conn = DriverManager.getConnection("jdbc:default:connection:");

详情也可以参照Oracle官方文档中的这一单元:Using the Server-Side Internal JDBC Driver

bc91bb04e6e9c61e24c974e4440db8f2.gif

本文主要介绍了如何导入和如何封装Java方法,如果你的业务逻辑比较复杂需要用到第三方jar包来实现自己的业务逻辑那么这些坑将在下一篇中说到。 本文网址:http://www.shaoqun.com/a/459049.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JAVA

0

http://www.lbrq.cn/news/1049923.html

相关文章:

  • 因网站开发需要/品牌策划包括哪几个方面
  • 贵阳市做网站的公司/百度怎么联系客服
  • 南通做网站推广的公司/seo也成搜索引擎优化
  • 为什么选择做游戏网站/站长之家
  • 代做毕设哪个网站靠谱/网络舆情分析报告范文
  • 网站制作预付款会计分录/免费顶级域名注册
  • 在线做ps是什么网站/上海优化seo排名
  • 容桂低价网站建设/百度搜索app下载
  • 白云区建网站/seo策略
  • wordpress 美食主题/百度搜索优化建议
  • 网站开发需要哪些工程师/百度广告投放价格表
  • 自己做黑彩网站/广告营销方式有哪几种
  • 用竹片做的网站/营销模式和营销策略
  • 电商网站管理系统模板下载/徐州做网站的公司
  • 做网站需要哪些东西和步骤/怎样有效的做网上宣传
  • 筑巢网站建设/全网营销是什么
  • 签约做网站模板/百度登录首页
  • 用pc做网站服务器为什么不如云主机/网站推广如何引流
  • 合肥网络公司网站建设/兰州seo快速优化报价
  • 柳州建设厅官方网站/搜狗搜索旧版本
  • 网站空间每年继费到哪交/免费招聘信息发布平台
  • adobe专门做网站的软件/爱战网关键词挖掘
  • 怎么做套板网站/品牌推广活动有哪些
  • sublime做网站/aso优化技巧大aso技巧
  • 网站开发网站制作/b站大全永不收费2023入口在哪
  • 小说网站建设方案书ppt/网站建设维护
  • 广州网站开发设计公司/核心关键词举例
  • 阳江企业网站建设/12345浏览器网址大全
  • 网站做跳转/seo免费浏览网站
  • 做网站导流/小江seo
  • 06-docker容器常用命令
  • 编译技术的两条演化支线:从前端 UI 框架到底层编译器的智能测试
  • 9. 堆和栈有什么区别
  • Prometheus监控平台部署与应用
  • 【Unity3D实例-功能-跳跃】角色跳跃
  • centos出现ping: baidu.com: 未知的名称或服务问题