zoukankan      html  css  js  c++  java
  • 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一直登陆不上去的原因

  • 相关阅读:
    meta标签设置(移动端)
    清除浮动
    响应式设计
    堆和堆排序
    O(n^2)以及O(nlogn)时间复杂度的排序算法
    求数组的最大连续子数组和
    HTTP缓存原理
    将两个有序数组合并为一个有序数组
    如何实现居中对齐
    查找字符串中出现最多的字符
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7095695.html
Copyright © 2011-2022 走看看