易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

不安装oracle 连接服务器oracle数据库方法

1:http://eduunix.ccut.edu.cn/index2/database/Oracle%20Instant%20Client/   下载你需要的Oracle Instant Client、
免安装
Oracle
客户端使用
PL/SQL
连接
Oracle

大家都知道,用
PL/SQL
连接
Oracle
,是需要安装
Oracle
客户端软件的。有没要想过不安装
Oracle
客户端直接连接
Oracle
呢?

利用
Oracle
提供的
Instant Client Package
只需要在
Oracle
下载一个叫
Instant Client Package
的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。
Instant Client Package - Basic
包。然后解压到任意目录,在这个目录下建立
NETWORK
文件夹,接着再这个文件夹下再建立
ADMIN
文件夹,然后在
ADMIN
内建立
tnsnames.ora
文件,内容如下:
yourDataBaseName =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yourhostIp )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = yourSID   )
)
)

例如:
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configur ......

Oracle触发器开发与设计

一、 什么是触发器?
数据库触发器是一个存储的PL/SQL程序块,它与一个基表联系,当在表上执行特定的数据库维护(插入、删除、更新这三种操作)时,隐含地执行一个PL/SQL程序块。
二、触发器的作用:
 。防止非法的数据库操纵、维护数据库安全
 。对数据库的操作进行审计,存储历史数据
 。完成数据库初始化处理
 。控制数据库的数据完整性
 。进行相关数据的修改
 。完成数据复制
 。自动完成数据库统计计算
 。限制数据库操作的时间、权限等,控制实体的安全性
 
三、触发器的组成:
1、触发时间:触发器事件的时间次序(before, afer)[2]
2、触发事件:什么SQL语句会引起触发器触发(Insert, delete, update)[3]
3、触发子体:触发器触发时要执行的操作(一个完整的PL/SQL程序)
4、触发类型:触发器被执行的次数(语句级、行级)[2] //语句级只执行一次,行级会执行多次。
[*]一个表上最多可以创建12个不同类型的触发器:3*2*2 = 12
四、创建触发器注意事项:
1、在触发器中可以调用存储过程、包;在存储过程中不得调用触发器。
2、在触发器中不得使用commit, rollback, savepoint语句。
3、在触发器中不 ......

使用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;
 } ......

使用 ADO.NET 访问 Oracle 9i 存储过程

本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块)。
您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft .NET Oracle 提供程序、OLE DB .NET 提供程序、ODBC .NET 数据提供程序以及 Oracle 的 ODP.NET 提供程序。本文使用用于 Oracle 的 Microsoft?.NET 框架数据提供程序。使用 Oracle ODP.NET 数据提供程序或用于 OLE DB 的 Microsoft .NET 框架数据提供程序时可使用不同的功能。
Oracle .NET 数据提供程序随 .NET 框架 1.1 一起提供。如果您使用的是 .NET 框架 1.0,您将需要下载 .NET Managed Provider for Oracle。无论是哪个版本,数据提供程序类都位于 System.Data.OracleClient 命名空间中。
概述
PL/SQL 是 SQL 的 Oracle 实现。它与 Microsoft?SQL Server? 所使用的 T-SQL 类似,但也有一些不同之处,本文稍后对此进行了详细讨论。与 T-SQL 一样,PL/SQL 扩展了标准 SQL。PL/SQL 用于定义命名编程块,如存储过程、函数和触发器。
返回页首

可使用 System.Data.OracleClient 命名空间中类的子集来执行 Oracle 存储过程和函数。下表对这些类进行了说明:

说明
OracleCommand
针对 O ......

XP下完全卸载Oracle 10g

软件环境:
    1、Windows XP + Oracle 10g
    2、Oracle安装路径为:d:\Oracle
实现方法:
   
    0、开始->设置->控制面板->添加删除程序-> Oracle Data Provider for .Net Help
    1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务;
    2、开始->程序->Oracle – OraDb10g_home1>Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除;
    3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口;
    4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口;
    5、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口;
    6、开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定; ......

oracle中connect by prior实现递归查询


oracle中connect by prior实现递归查询
收集的几条在oracle中通过connect by prior来实现递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID    NUMBER,
NAME VARCHAR2(100 BYTE),
PID   NUMBER                                  DEFAULT 0
);
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
从Root往树末梢递归
select * from TBL_TEST
start with id=1
connect by prior id = pid
从末梢往树ROOT递归
select * from TBL_TEST
start with id=5
connect by prior pid = id
====================== ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [651] [652] [653] [654] 655 [656] [657] [658] [659] [660]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号