首页 > 代码库 > PL/SQL编程—存储过程
PL/SQL编程—存储过程
SQL> create or replace procedure sp_pro3(name_in varchar2,id_in varchar2) is 2 begin 3 update mytest set name=name_in where id=id_in; 4 end; 5 / Procedure created SQL> exec sp_pro3(‘newName‘,‘1‘) PL/SQL procedure successfully completed SQL> select * from mytest; NAME PASSWD ID ------------------------------ ------------------------------ -- newName 123456 1 李超 2222 2 小王 1222 3
在java代码中调用oracle的存储过程
public static void main(String[] args) { // TODO Auto-generated method stub try { //1.加载驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); //2.得到连接 Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","system","rqyz2618"); //3.创建CallableStatement CallableStatement cs=ct.prepareCall("{call sp_pro3(?,?)}"); //4.给?赋值 cs.setString(1, "gaodingle!!!!"); cs.setString(2, "2"); //5.执行 cs.execute(); //6.关闭 cs.close(); ct.close(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }
这时候会出现一个问题就是拿JDBC去连接的时候会报invalid username/password; logon denied
但是你在sql developer登陆的时候是没有问题的,终于发现了是因为用户类型,之前都是按照sysdba的类型登陆,而用jdbc连接后是默认normal进行登陆的所以回出现登陆不上的问题,新建一个Normal用户或者
alter user XXX identified by xxx
执行以下,不需要改密码,原来的用户,原来的密码就行
Normal 普通用户 SysOPer 数据库操作员,主要包括 打开数据库服务器,关闭数据库服务器,备份数据库,恢复数据库,日志归档,会话限制
sysDBA 数据库管理员,打开数据库服务器 关闭数据库服务器,备份数据库,恢复数据库,日志归档, 会话限制,管理功能,创建数据
一般程序员使用 Normal 方式
这个问题也是困扰 dbvisualizer一直登陆不上去的原因
PL/SQL编程—存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。