使用oracle,程序退出死循环
在程序中使用SQLDriverConnect连接oracle数据库
没有关闭SQL句柄就退出程序了。
结果在DEBUG模式下出现死循环,还是在ExitProcess函数里,
以前没有碰到打开后不关闭程序会无法退出,也没见过ExitProcess不能退出来的。
猜想是不是oracle的dll没做好退出这个过程。
通过加以下关闭函数,程序终于正常退出了
SQLRETURN retcode;
retcode = SQLDisconnect(m_hdbc);
if(retcode != 0)
{
cout<
return false;
}
//retcode = SQLFreeHandle(SQL_HANDLE_DBC, m_hdbc);
retcode=SQLFreeConnect(m_hdbc);
if(retcode != 0)
{
cout<
return false;
}
retcode=SQLFreeEnv(m_henv);//此函数要注意,如果不调用,程序还是退不出来的。一定要注意啊
if(retcode != 0)
{
cout<
return false;
}
相关文档:
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
自己在做这个程序的时候看过很多的资料,上网也查了不少的资料,可是多半说的是出神入化,云里雾里...不光看了不明白,而且是有明白一点的人,看了也变的有些模糊了。
这里我掩饰一套完整的java jdbc 连接Oracle9i的范例。
package com.lxh.dbcon;//打包
import ......
Oracle函数和mysql函数比较
1. Oracle中的to_number()转换成数字;
Oracle> Select to_number(‘123’) from dual; ----- 123;
&nbs ......
我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......