使用存储过程返回结果集,并绑定到ado.net对象中在sql server里面是非常直观的. 1: create procedure GetAllRecords 2: as 3: select * from dept; 存储过程返回一个结果集,然后通过SqlDataAdapter绑定给DataSet. 但是在Oracle里面返回结果集存储过程是不可以这样写的,返回的结果集要通过游标来完成的. 首先创建一个包,新建一个应用游标类型 1: create or replace package cust…
本文转自:http://www.cnblogs.com/datasky/archive/2007/11/07/952141.html 本文讨论了如何使用 ADO.NET 访问 Oracle 存储过程(称为 SQL 编程块)和函数(返回单个值的编程块). 您可以使用以下托管数据提供程序连接到 Oracle 数据库:Microsoft .NET Oracle 提供程序.OLE DB .NET 提供程序.ODBC .NET 数据提供程序以及 Oracle 的 ODP.NET 提供程序.本文使用用于 O…
ado.net 操作oracle 数据库 跟操作mssql 的原来基本一样.只是使用不同的命名空间而已.下面举几个例子: 一. C#读取oracle数据库的表格 ///ado.net 读取table 列子 ///需要添加命名空间 : using System.Data.OracleClient //链接字符串 string connString = @"User ID=system;Password=123456;Data Source=(DESCRIPTION = (ADDRESS_LIST=…
ADO.NET连接ORACLE时,用到ODAC组件时,有几点注意的. 1.安装的具体方法见:http://jingyan.baidu.com/article/e4511cf336ce872b845eafd4.html 2.在64位系统上安装64位的ODAC有问题,无法使用,必须安装32位ODAC才能使用 3.错误:ystem.TypeInitializationException: "Oracle.DataAccess.Client.OracleConnection"的类型初始值设定项…
Today, organizations stores information(data) in different database systems. Each database system has a set of applications that run against it. This data is just bits and bytes on a file system - and only a database can turn the bits and bytes of da…
最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下. 环境 win7 x86系统: VS2012编译器: Office2010: Access2000~Access2003连接串建立数据库连接. 关键数据库操作代码 BOOL CAccessDatabase::Query(const CString strSQLString, UINT nFieldNumber, vector<vector<_variant_t> >& vec…
本文演示两个关于如何在shell中调用oracle的function和procedure,并将返回值返回给shell. 1.首在package中创建function和procedure,脚本如下: GET_BIZ_DATE: 通过pl/sql的function拿到sysdate,并返回 GET_DATE_DIFF:通过pl/sql的procedure,在对给定的一个时间的基础上加分钟,即简单时间加减,并返回运算后的时间 create or replace package mypkg as   …
store procedure 翻页例子 .turn page CREATE PROCEDURE pageTest --用于翻页的测试 --需要把排序字段放在第一列 ( )=null, --当前页面里的第一条记录的排序字段的值 )=null, --当前页面里的最后一条记录的排序字段的值 @isNext bit=null, --true 1 :下一页:false 0:上一页 @allCount int output, --返回总记录数 @pageSize int output, --返回一页的记录…
近期接触ADO.NET和Oracle.将我寻常遇到的一些问题和大家共享. 我认为要想入门ADO.NET操作Oracle,最主要的要求就是要会通过ADO.NET更新Oracle中的数据. 该文简单讲些利用Command对象更新数据库 全部内容基于VS2010和Oracle11g(32bit) 1.连接数据库 连接数据库依靠OracleConnection对象 OracleConnection con = new OracleConnection("data source=orcl;uid=syst…
今天利用ADO连接Access数据库的时候遇到了前所未见的问题,Access数据库连接串,OleDbConnection,open的时候,系统就会自动关闭所有调试. 我就很纠结了,这个AccessHelp是从以前写过的程序中拷贝过来的(不想引用太多的DLL,看着烦),调试以前的一切正常. 也想到了是不是版本的问题,access2003的连接串 “Provider=Microsoft.Jet.OLEDB.4.0”: access2007的连接串“Provider=Microsoft.ACE.OLE…
如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括:如何在SQL Server存储过程中获取另一存储过程的执行结果记录集?如何在存储过程中检索动态SQL语句的执行结果?如何实现类似SELECT * FROM (EXEC procedure_name @parameters_var) AS datasource ... 的功能?procedure_…
store procedure: _________________________________________________ set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[outputParms] ( @count int output,  @sum int output ) AS BEGIN declare @t table(id int identity(1,1), value int) insert …
原文链接地址:https://blog.csdn.net/HW140701/article/details/71077579 Win32编译环境下,用ADO数据库连接Access数据库一般都不会报错,但是最近由于项目上的需要,程序需要编译成64位以便申请到更多的使用内存空间,当把编译方式从Win32改为x64的时候,突然出现了数据库连接出现未知错误,这时候就猜到了应该是编译环境的改变导致了数据库连接出错,在参考了其他大神的解决方案之后,终于解决了这个问题,我的环境为Win7 64+MFC(VS2…
本文转自:http://www.cnblogs.com/michaelxu/archive/2009/10/16/1584284.html 有很多人喜欢在OLE DB Source中执行Store Procedure,以得到源数据.但我们经常会遇到这样的情况,在OLE DB Source的Sql Command中写好执行Store Procedure的语句后,可以正常Preview,但是当点到Columns标签时,却看不到Store Procedure返回来的结果集,就是说没有columns显示…
存储过程 返回值 procedure return values : http://www.cnblogs.com/SunnyZhu/p/5542347.html return.select.output 返回值得区别: https://bbs.csdn.net/topics/360230222 如何在Store Procedure中调用其他Store Procedure中返回的记录集呢: https://bbs.csdn.net/topics/60166972…
一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习ADO.NET中OracleClient命名空间中的几个常用对象,用这作为对ADO.NET认 识学习的开始. ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使 用.高速度.低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务器和 W…
一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO).我们今天主要要学习ADO.NET中OracleClient命名空间中的几个常用对象,用这作为对ADO.NET认识学习的开始. ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用.高速度.低内存支出和占用磁盘空间较少,支持用于建立基于…
本文将示例使用C#的ADO.NET技术调用Oralce的存储过程和函数及操作Oracle数据库. 在oracle的hr数据库中建立存储过程 在oralce的hr数据库中建立函数 新建控制台项目,在主函数添加代码: string strConn = "Data Source=jayjay;User ID=hr;Password=oracle;Unicode=True"; //调用存储过程 using (OracleConnection conn = new OracleConnectio…
#pragma once #include <vector> // 加入ADO支持库, #import "C:\Program Files\Common Files\System\ado\msado15.dll" \ no_namespace \ rename ("EOF", "adoEOF") template<typename stDBDATA> class CADO { public: CADO(); virtual…
今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBups.dll这个动态链接库. 我的连接oracle数据库的代码是: try{ hr = m_pConnDes.CreateInstance("ADODB.Connection"); if(FAILED(hr)) return ; CString sDNS; sDNS.Format("…
什么是异常?在PL/SQL中的一个标识.在程序运行期间被触发的错误.异常是怎样被触发的?产生一个Oracle错误.用户显示触发.怎样处理异常?用异常处理句柄捕获异常.传播异常到调用环境. 捕获异常 EXCEPTION  WHEN exception1 [OR exception2 . . .] THEN    statement1;    statement2;    . . .  [WHEN exception3 [OR exception4 . . .] THEN    statement1…
匿名PL/SQL块回顾 DECLARE (可选)    定义在PL/SQL块中要使用的对象BEGIN (必须)    执行语句EXCEPTION (可选)    错误处理语句END; (必须)匿名块(以DECLARE或BEGIN开始)每次使用时都要进行编译. 匿名块不存储在数据库中,并且它不能从其它的PL/SQL块中进行调用. 过程.函数.包和触发器:都是带名块.(请注重同匿名块的比较) 过程.函数.包和触发器:可以存储在数据库中,并且可以在需要的时候运行. 过程.函数.包和触发器:可以从其它P…
PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过程化语言的数据处理能力与SQL语言的访问数据库的能力有机地结合在一起.PL/SQL语言在Oracle系统中是核心的编程语言,它应用于很多方面,如存储过程.触发器.包.函数和Web应用等.PL/SQL语言编写的不是客户端程序,而是服务器端的程序 PL/SQL字符集 合法字符 所有大小写字母 数字0-9…
我在<VC知识库在线杂志>第十四期和第十五期上曾发表了两篇文章——“直接通过ODBC读.写Excel表格文件”和“直接通过DAO读.写Access文件”,先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法.ADO(Active Data Object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础,经过OLE DB精心包装后的数据库访问…
可同时操作多个不同类型的数据库. 完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号. 调用非常简单,对数据库的主要操作一般只需要一行代码. 支持mssql事务回滚. 可自动生成和输出sql语句方便调试. 使用方法: . 修改clsDbctrl.asp文件中的第1行为你自己的数据库位置(修改方法参考下面的CreatConn函数说明).如需连接多个数据库可自行添加,格式相同. . 在你新建的asp文件中包含此asp文件.如: <!--#include file="Inc/clsDb…
匿名PL/SQL块回顾 DECLARE (可选)     定义在PL/SQL块中要使用的对象 BEGIN (必须)     执行语句 EXCEPTION (可选)     错误处理语句 END; (必须) 匿名块(以DECLARE或BEGIN开始)每次使用时都要进行编译. 匿名块不存储在数据库中,并且它不能从其它的PL/SQL块中进行调用. 过程.函数.包和触发器:都是带名块.(请注重同匿名块的比较) 过程.函数.包和触发器:可以存储在数据库中,并且可以在需要的时候运行. 过程.函数.包和触发器…
ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader.DataSet提供内存中关系数据的表现--包括表和次序.约束等表间的关系的完整数据集合.DataReader提供快速.只向前.只读的来自数据库的数据流. 使用DataSet时,一般使用DataAdapter(也可能是CommandBuilder)与数据源交互,用DataView对DataSet中的数据进行排序和过滤.DataSet可以被继承来建立强化类型的DataSet,用于暴露表.行.列…
之前安装Oracle - OraClient10g_home1客户端,用Ado.net访问没有问题,后来安装ODP之后,自动的又安装了Oracle - OraClient12Home1,之后就出现乱码变成???.查询条件含有中文就不行. 解决方法:打开注册表HKEY_LOCAL_MACHINE->SOFTWARE->Oracle,你会看到KEY_OraClient10g_home1项下面有个NLS_LANG,但是KEY_OraClient12Home1下面没有NLS_LANG,新建一个NLS_…
1.0  oracle中表被锁,处理方法 select t4.object_name, t3.spid, t1.oracle_username, t1.os_user_name  from v$process t3, v$session t2, v$locked_object t1, dba_objects t4 where t3.addr in (t2.paddr)   and t2.sid in (t1.session_id)   and t1.object_id = t4.object_i…
DataSet和DataTable的 区别与联系 1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 DataTable 中. ●注意如下 Ado.Net 关系: Connection_____Command____DataAdapter____Dataset  _____Datareader ● DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新…