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一直登陆不上去的原因

  • 相关阅读:
    【转】 IntelliJ IDEA 详细图解最常用的配置 ,适合刚刚用的新人
    安装IntelliJ IDEA默认C盘文件过大怎么办
    [linux]netstat命令详解-显示linux中各种网络相关信息
    [linux]free命令详解-显示内存的使用情况
    用什么工具能找出性能瓶颈?
    [linux]iostat命令详解-监视系统输入输出设备和CPU的使用情况
    [linux]vmstat命令详解-显示虚拟内存状态
    好文章列表
    BigDecimal.setScale 处理java小数点
    Mybatis通用分页
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7095695.html
Copyright © 2011-2022 走看看