易截截图软件、单文件、免安装、纯绿色、仅160KB

使用oracle,程序退出死循环

在程序中使用SQLDriverConnect连接oracle数据库
没有关闭SQL句柄就退出程序了。
结果在DEBUG模式下出现死循环,还是在ExitProcess函数里,
以前没有碰到打开后不关闭程序会无法退出,也没见过ExitProcess不能退出来的。
猜想是不是oracle的dll没做好退出这个过程。
通过加以下关闭函数,程序终于正常退出了
 SQLRETURN retcode; 
 retcode = SQLDisconnect(m_hdbc);
 if(retcode != 0)
 {
  cout<<"close ql err"<<endl;
  return false;
 }
 //retcode = SQLFreeHandle(SQL_HANDLE_DBC, m_hdbc);
 retcode=SQLFreeConnect(m_hdbc);
 if(retcode != 0)
 {
  cout<<"close ql err"<<endl;
  return false;
 }
 retcode=SQLFreeEnv(m_henv);//此函数要注意,如果不调用,程序还是退不出来的。一定要注意啊
 if(retcode != 0)
 {
  cout<<"close ql err"<<endl;
  return false;
 }


相关文档:

[Oracle]高效的PL/SQL程序设计(六)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

在Oracle下开发Java程序的经典问题解答

 
问题一:如保加载JDBC驱动程序:
 
正常我们加载驱动程序有三个途径:
 
1.Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法。
 
2.使用系统属性:System.getPro ......

连接oracle,sqlserver中数据库的示例代码

一 在Oracle中连接数据库
public class Test1 {
 public static void main(String[] args) {
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   Connection conn = DriverManager.getConnection(
       &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号