使用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程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......
'-------------------------------------------------------------------以下是登录代码
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3 ......
数学函数
在oracle 中distinct关键字可以显示相同记录只显示一条
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
......
只是sqlserver 提供的远程数据访问函数; 在本地sqlserver 中取外部数据源数据时候可用;
对连接本地 oracle 操作远程 oracle 不能使用; 测试: pl/sql 中使用:
select * from openrowset(................); 无效!!!!!!!!!!!!!!
在oracle 中需要访问远程数据,需要建立一连接远程oracle 的 dblink ;
再用如下方 ......
一 在Oracle中连接数据库
public class Test1 {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
&nbs ......