WEB开发网
开发学院软件开发Java 关于weblogic中使用prepared statement cache后操... 阅读

关于weblogic中使用prepared statement cache后操作DDL的问题

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 好了,我们可以用用下面的代码测试一下:在测试程序run起来以后,关于weblogic中使用prepared statement cache后操作DDL的问题(2), 通过sql plus去改变后端test table的结构,比如alter table test add(key1 varchar(

好了,我们可以用用下面的代码测试一下:在测试程序run起来以后, 通过sql plus去改变后端test table的结构,比如alter table test  add(key1 varchar(10))

 1 package test.jdbc;
 2 
 3 import oracle.jdbc.OracleDriver;
 4 import java.sql.DriverManager;
 5 import java.sql.Connection;
 6 import java.sql.PreparedStatement;
 7 import java.sql.ResultSet;
 8 
 9 public class OracleDriverTest {
10     
11     public static void main(String args[])
12     {
13         try
14         {
15             OracleDriver driver = (OracleDriver)Class.
16                 forName("oracle.jdbc.OracleDriver").newInstance();
17             DriverManager.registerDriver(driver);
18             String url="jdbc:oracle:thin:@localhost:1521:coffeedb";
19             Connection conn = DriverManager.getConnection(url, "system", "coffee");
20             PreparedStatement pstmt = conn.prepareStatement("select * from Test");
21             for(int loop=0; loop<10; loop++)
22             {
23                 try
24                 {
25                     System.out.println(pstmt.toString());
26                     ResultSet rs = pstmt.executeQuery();
27                     while(rs.next())
28                     {
29                         String val = rs.getString(1);
30                         System.out.println(val);
31                     }
32                     rs.close();
33                     Thread.currentThread().sleep(5000);
34                 }catch(java.sql.SQLException se)
35                 {
36                     //Thread.currentThread().sleep(10000);
37                     se.printStackTrace();
38                     System.out.println("get exception, remake prepared statement in loop: " + loop);
39                     /*
40                      * if we just remake a prepared statement, SQLException will be thrown still, to
41                      * slove such issue, we have to remake a physical connection. To do the test, we
42                      * can comment the next line at first to see what will happen and then we activate
43                      * it, to see what will happen this time. 
44                      */ 
45                     //conn = DriverManager.getConnection(url, "system", "coffee");
46                     pstmt = conn.prepareStatement("select * from Test");
47                     continue;
48                 }
49             }
50             pstmt.close();
51             conn.close();
52             
53         }catch(Exception e)
54         {
55             try
56             {
57                 //Thread.currentThread().sleep(10000);
58                 System.out.println("catch exception in main()");
59                 e.printStackTrace();
60             }catch(Exception e1)
61             {
62                 e1.printStackTrace();
63             }
64         }    
65     }
66 }
67 

上一页  1 2 3 4  下一页

Tags:关于 weblogic 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接