`
lsxy117
  • 浏览: 48747 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

oracle 调用Java 实现ftp文件的上传和下载 问题

 
阅读更多

对于之前写的一个 oracle 调用Java 代码,实现ftp 文件的上传下载 一篇文章里,里面的操作都是使用 sys oracle系统管理员用户登录的,所以执行任何命令都没有问题,如果是普通用户执行时会出现问题。

执行命令:

SQL> set serveroutput on size 5000;
SQL> call dbms_java.set_output(5000);

Method called

SQL> select FtpUD_downFileTest() as d from dual;

报错如下:

java.security.AccessControlException: the Permission (java.net.SocketPermission 10.254.200.186:21 connect,resolve) has not been granted to HOLLYDM. The PL/SQL to grant this is dbms_java.grant_permission( 'HOLLYDM', 'SYS:java.net.SocketPermission', '10.2
54.200.186:21', 'connect,resolve' )
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
at java.security.AccessController.checkPermission(AccessController.java:429)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1030)
at java.net.Socket.connect(Socket.java:446)
at java.net.Socket.connect(Socket.java:402)
at sun.net.ftp.FtpClient.openPassiveDataConnection(FtpClient.java:316)
at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:343)
at sun.net.ftp.FtpClient.nameList(FtpClient.java:572)
at FtpUD.getFileList(FTPUD:159)
at FtpUD.downFileTest(FTPUD:358)

初步分析:

1、因为这时用的普通用户登录的,可能没有相关的权限

解决:

第一步、使用sys 管理员用户给普通用户分配权限:

我们只要直接执行报错提示给的命令就可以,命令如下:

dbms_java.grant_permission( 'HOLLYDM', 'SYS:java.net.SocketPermission', '10.254.200.186:21', 'connect,resolve' )

第二步、把 JAVASYSPRIV 角色授予给该用户,这样该用户就可以执行 java程序了。

grant JAVASYSPRIV to user1;//将该角色分配给某用户

如果要删除可以使用:revoke JAVASYSPRIV from user1; //移除某用户该角色



分享到:
评论

相关推荐

    oracle中实现ftp文件上传下载.doc

    以下是一个详细的步骤,解释如何在Oracle中实现FTP文件上传下载: 1. **创建Java源代码**: 首先,你需要创建一个Java类,如`remoteFtpClient`,包含FTP连接、上传和下载的方法。这个类通常会包含服务器的主机名、...

    oracle数据导入导出FTP

    Java提供丰富的类库,如`java.net.FTPClient`,可以方便地实现FTP文件的上传和下载。同时,通过Java JDBC(Java Database Connectivity)接口,可以调用SQL*Loader的API执行数据导入。 **HB_dosp_3G_product** 在...

    自动备份Oracle并传输到远程FTP

    在我们的案例中,Ant脚本将负责调用RMAN命令行工具来执行Oracle备份,并将备份文件上传到远程FTP服务器。 以下是一个简单的Ant脚本示例,展示了如何集成RMAN和FTP: ```xml <project name="OracleBackup" basedir=...

    ORACLE中的FTP例子代码

    以上就是Oracle中实现FTP文件上传和下载的基本方法。在实际开发中,可能还需要处理异常、重试机制、日志记录等问题,以确保文件传输的可靠性和安全性。同时,为了更好的管理,可以考虑将这些操作封装到自定义的PL/...

    Oracle and Java Development

    该平台结合了Oracle数据库技术和Java编程语言的优势,为开发者提供了一套完整的解决方案。 - **主要特性**: - 支持多种应用开发模型,包括客户端/服务器、三层架构等。 - 提供高性能的数据存储和处理能力。 - ...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java通过jdbc连接oracle数据库.doc

    你可以从Oracle官方网站的Maven仓库或Oracle的FTP服务器上下载相应的驱动包。 2. **创建Java项目并引入驱动**: 使用Eclipse或MyEclipse等集成开发环境(IDE)创建一个新的Java项目。将下载的驱动文件放入项目的`...

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包10

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    commons-net-1.4.1.jar、jakarta-oro-2.0.8.jar、edtftpj.jar

    开发者可以使用这个库来轻松地在Java应用程序中实现FTP文件上传、下载和管理功能。 2. **jakarta-oro-2.0.8.jar**: Jakarta ORO(Oracle Regular Expression Library)是Apache软件基金会的一个子项目,它提供了...

    Java资源包01

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包6

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包9

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包101

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包5

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包8

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    Oracle8i概述

    通过支持EJB,Oracle8i能够更好地与其他Java应用和服务集成,实现更加复杂的功能和逻辑。 #### 六、高性能OLTP Oracle8i在高并发事务处理(OLTP)方面进行了优化,通过引入分区表和分区索引等特性,提高了系统的...

    Java程序设计(第3版)-唐大仕-课件

    在课程中,你会学到Java的基础语法,如数据类型、变量、运算符、控制流语句(if、for、while)、方法定义和调用等。 2. **类与对象**:Java的核心是面向对象编程,这涉及到类的定义、对象的创建以及封装、继承和...

    apache的FTP包commons-net-1.4.1.jar,jakarta-oro-2.0.8.jar

    在这个版本中,Apache Commons Net提供了对FTP协议全面的支持,包括连接到FTP服务器、上传和下载文件、创建和删除目录、改变工作目录、处理文件权限等。它的API设计得相当直观,使得开发者能够轻松地进行FTP操作。...

Global site tag (gtag.js) - Google Analytics