OracleBulkCopy类说明
来源:互联网 发布:淘宝女装店软文 编辑:程序博客网 时间:2024/06/04 18:03
一个OracleBulkCopy
对象有效地从另一个数据源加载或复制数据到Oracle表中。
类继承
System.Object
System.OracleBulkCopy
宣言
// C#公开封装类OracleBulkCopy:IDisposable
线程安全
所有公共静态方法都是线程安全的,虽然实例方法不能保证线程安全。
备注
本OracleBulkCopy
类可用于将数据写入到只有Oracle数据库表。但是,数据源不限于Oracle数据库; 只要可以将数据加载到DataTable
实例或用IDataReader
实例读取,就可以使用任何数据源。
要求
命名空间: Oracle.DataAccess.Client
部件: Oracle.DataAccess.dll
ODP.NET版本:适用于.NET Framework 2.0的ODP.NET或.NET Framework 4的ODP.NET
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy成员
OracleBulkCopy构造函数
OracleBulkCopy属性
OracleBulkCopy公共方法
OracleBulkCopy事件
OracleBulkCopy成员
OracleBulkCopy
成员列在下表中。
OracleBulkCopy构造函数
OracleBulkCopy
构造函数列在表17-1中。
表17-1 OracleBulkCopy构造函数
OracleBulkCopy构造函数
OracleBulkCopy
构造函数创建OracleBulkCopy
类的新实例
OracleBulkCopy属性
OracleBulkCopy
属性列于表17-2。
表17-2 OracleBulkCopy属性
BATCHSIZE
指定要作为批处理发送到数据库的行数
BulkCopyOptions
指定确定OracleBulkCopyOptions
批量复制操作行为的枚举值
BulkCopyTimeout
指定批量复制操作在中止之前完成的秒数
ColumnMappings
指定数据源和目标表之间的列映射
连接
指定OracleConnection
Oracle数据库用于执行批量复制操作的对象
DestinationTableName
指定加载数据的数据库表
完NotifyAfter
定义生成通知事件之前要处理的行数
OracleBulkCopy公共方法
OracleBulkCopy
公共方法列于表17-3。
表17-3 OracleBulkCopy公共方法
关
关闭OracleBulkCopy
实例
部署
释放对象分配的任何资源或内存
在WriteToServer
将行复制到目标表
OracleBulkCopy事件
OracleBulkCopy
事件列于表17-4。
表17-4 OracleBulkCopy事件
OracleRowsCopied
每次处理由OracleBulkCopy.NotifyAfter
属性指定的行数时触发
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy构造函数
OracleBulkCopy
构造函数创建OracleBulkCopy
类的新实例。
重载列表:
OracleBulkCopy(的OracleConnection)
此构造
OracleBulkCopy
函数使用指定的连接和默认值实例化一个新的类实例OracleBulkCopyOptions
。OracleBulkCopy(串)
此构造函数
OracleBulkCopy
根据提供的connectionString
默认值实例化一个新的实例OracleBulkCopyOptions
。OracleBulkCopy(OracleConnection,OracleBulkCopyOptions)
此构造函数实例化
OracleBulkCopy
使用指定的连接对象和OracleBulkCopyOptions
值的新实例。OracleBulkCopy(string,OracleBulkCopyOptions)
这个构造函数
OracleConnection
根据提供的connectionString
和OracleBulkCopyOptions
值来实例化一个新的实例。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
OracleBulkCopy(的OracleConnection)
该构造OracleBulkCopy
函数使用指定的连接和默认OracleBulkCopyOptions
枚举值实例化一个新的类实例。
宣言
// C#公共OracleBulkCopy(OracleConnection 连接);
参数
connection
该打开的实例
OracleConnection
执行批量复制操作。
例外
ArgumentNullException
- 连接参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
传递给此构造函数的连接对象必须是打开的。OracleBulkCopy
实例关闭后仍保持打开状态。
此构造函数使用默认枚举值OracleBulkCopyOptions.Default
。
该Connection
属性设置为提供的连接。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
OracleBulkCopy(串)
该构造OracleBulkCopy
函数通过首先OracleConnection
根据提供的对象创建一个对象connectionString
,然后OracleBulkCopy
使用OracleConnection
对象和OracleBulkCopyOptions
默认值初始化新对象来实例化一个新的实例。
宣言
// C#public OracleBulkCopy(string connectionString);
参数
connectionString
用于连接到Oracle数据库并执行批量复制操作的连接信息。
例外
ArgumentNullException
- connectionString
参数为null。
ArgumentException
- connectionString
参数为空。
备注
该WriteToServer
方法打开连接,如果尚未打开。当OracleBulkCopy
实例关闭时,连接将自动关闭。
此构造函数使用默认枚举值OracleBulkCopyOptions.Default
。
该Connection
属性设置为OracleConnection
使用提供的初始化对象connectionString
。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
OracleBulkCopy(OracleConnection,OracleBulkCopyOptions)
此构造函数实例化OracleBulkCopy
使用指定的连接对象和OracleBulkCopyOptions
值的新实例。
宣言
// C#public OracleBulkCopy(OracleConnection 连接,OracleBulkCopyOptions copyOptions);
参数
connection
OracleConnection
执行批量复制操作的对象的打开实例。copyOptions
OracleBulkCopyOptions
确定OracleBulkCopy
对象行为的枚举值的组合。
例外
ArgumentNullException
- connection
参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
传递给此构造函数的连接必须是打开的。OracleBulkCopy
实例关闭后仍保持打开状态。
该Connection
属性设置为提供的连接。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
OracleBulkCopy(string,OracleBulkCopyOptions)
该构造OracleBulkCopy
函数通过首先OracleConnection
根据提供的对象创建一个对象connectionString
,然后OracleBulkCopy
使用OracleConnection
对象和提供的OracleBulkCopyOptions
枚举值初始化新对象来实例化一个新的实例。
宣言
// C#public OracleBulkCopy(string connectionString,OracleBulkCopyOptions copyOptions);
参数
connectionString
用于连接到Oracle数据库以进行批量复制操作的连接信息。
copyOptions
OracleBulkCopyOptions
确定批量复制操作行为的枚举值的组合。
例外
ArgumentNullException
- connectionString
为空。
ArgumentException
- connectionString
参数为空。
备注
构造函数使用类的新实例OracleConnection
来初始化类的新实例OracleBulkCopy
。的OracleBulkCopy
实例,根据在所提供的选项的行为copyOptions
参数。
当OracleBulkCopy
实例关闭时,连接将自动关闭。
该Connection
属性设置为OracleConnection
使用提供的初始化对象connectionString
。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
OracleBulkCopy属性
OracleBulkCopy
属性列在表17-5中。
表17-5 OracleBulkCopy属性
BATCHSIZE
指定要作为批处理发送到数据库的行数
BulkCopyOptions
指定确定OracleBulkCopyOptions
批量复制操作行为的枚举值
BulkCopyTimeout
指定批量复制操作在中止之前完成的秒数
ColumnMappings
指定数据源和目标表之间的列映射
连接
指定OracleConnection
Oracle数据库用于执行批量复制操作的对象
DestinationTableName
指定加载数据的数据库表
完NotifyAfter
定义生成通知事件之前要处理的行数
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
BATCHSIZE
此属性指定要作为批处理发送到数据库的行数。
宣言
// C#public int BatchSize {get; 组;}
物业价值
要作为批次发送到数据库的行数的整数值。
例外
ArgumentOutOfRangeException
- 批量大小小于零。
备注
默认值为零,表示行不会批量发送到数据库。整组行都以单个批次发送。
当BatchSize
处理行数或没有更多行发送到数据库时,批处理完成。
如果指定
BatchSize
>
0
了UseInternalTransaction
批量复制选项,则批量复制操作的每批都将在事务中进行。如果用于执行批量复制操作的连接已经是事务的一部分,InvalidOperationException
则会引发异常。如果没有指定
BatchSize
>
0
该UseInternalTransaction
选项,则会以批量的大小将行发送到数据库BatchSize
,但不会执行与事务相关的操作。
该BatchSize
属性可以在任何时候进行设置。如果批量拷贝已在进行中,则当前批量大小由先前的批量大小确定。后续批次使用新的批量大小。
如果BatchSize
属性最初为零,并且WriteToServer
在操作正在进行中更改,则该操作将数据作为单个批次加载。WriteToServer
在同一OracleBulkCopy
实例上的任何后续操作都使用新的BatchSize
。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
BulkCopyOptions
此属性指定确定OracleBulkCopyOptions
批量复制选项行为的枚举值。
宣言
// C#public OracleBulkCopyOptions BulkCopyOptions {get; 组;}
物业价值
该OracleBulkCopyOptions
枚举对象定义批量复制操作的行为。
例外
ArgumentNullException
- 批量复制选项集为空。
备注
此属性的默认值为OracleBulkCopyOptions.Default
值。此属性可用于更改批量复制操作批次之间的批量复制选项。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“OracleBulkCopyOptions枚举”
BulkCopyTimeout
此属性指定批量复制操作在中止之前完成的秒数。
宣言
// C#public int BulkCopyTimeout {get; 组;}
物业价值
批量复制操作超时之后的秒数的整数值。
例外
ArgumentOutOfRangeException
- 超时值设置为小于零。
备注
默认值为30秒。
如果BatchSize
>0
,以前批次中发送到数据库的行仍然提交。当前批处理的行不会发送到数据库。如果BatchSize=0
没有行发送到数据库。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
ColumnMappings
此属性指定数据源和目标表之间的列映射。
宣言
// C#public OracleBulkCopyColumnMappingCollection ColumnMappings {get;}
物业价值
OracleBulkCopyColumnMappingCollection
定义源表和目标表之间的列映射的对象。
备注
所述ColumnMappings
集合是不必要的,如果数据源和目标表具有相同的列数,并且每个源列的顺序位置对应的目标的列的顺序位置相匹配。但是,如果列计数不同或顺序位置不一致,则ColumnMappings
必须使用该集合来确保将数据复制到正确的列中。
在执行批量复制操作期间,可以访问此集合,但无法更改。
默认情况下,此属性指定列映射的空集合。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
连接
此属性指定OracleConnection
Oracle数据库用于执行批量复制操作的对象。
宣言
// C#public OracleConnection Connection {get; }
物业价值
OracleConnection
用于批量复制操作的对象。
备注
OracleBulkCopy
如果OracleBulkCopy
对象使用连接字符串进行初始化,则该属性将获取构造的连接。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
DestinationTableName
该属性指定数据加载到的数据库表。
宣言
// C#public string DestinationTableName {get; 组;}
物业价值
用于标识目标表名称的字符串值。
例外
ArgumentNullException
- 目标表名称设置为null。
ArgumentException
- 目标表名称为空。
备注
如果操作正在运行DestinationTableName
时修改WriteToServer
,则更改不会影响当前操作。DestinationTableName
下一次WriteToServer
调用一个方法时会使用新值。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
完NotifyAfter
此属性定义在生成通知事件之前要处理的行数。
宣言
// C#public int NotifyAfter {get; 组;}
物业价值
一个整数值,指定在通知事件生成之前要处理的行数。
例外
ArgumentOutOfRangeException
- 属性值设置为小于零的数字。
备注
此属性的默认值为零,以指定不生成通知事件。
可以在用户界面组件中检索此属性,以显示批量复制操作的进度。NotifyAfter
即使在批量复制操作期间,也可以随时设置该属性。更改对下一个通知和同一实例上的任何后续操作生效。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
OracleBulkCopy公共方法
OracleBulkCopy
方法见表17-6。
表17-6 OracleBulkCopy公共方法
关
关闭OracleBulkCopy
实例
部署
释放对象分配的任何资源或内存
在WriteToServer
将行复制到目标表
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
关
此方法关闭OracleBulkCopy
实例。
宣言
// C#public void Close();
例外
InvalidOperationException
- 该Close
方法是从一个OracleRowsCopied
事件调用的。
备注
在Close
方法调用OracleBulkCopy
对象之后,没有其他操作可以成功。调用该WriteToServer
方法抛出一个InvalidOperationException
。Close
如果连接被OracleBulkCopy
对象打开,则该方法将关闭连接,也就是说,如果该OracleBulkCopy
对象是由一个连接字符串构造函数创建的。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
部署
此方法释放对象分配的任何资源或内存。
宣言
// C#public void Dispose();
器物
IDisposable
备注
在Dispose
方法调用该OracleBulkCopy
对象之后,没有其他操作可以成功。如果OracleBulkCopy
对象打开连接,即连接字符串创建OracleBulkCopy
对象的构造函数,连接将关闭。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
在WriteToServer
WriteToServer
将行复制到目标表。
重载列表:
在WriteToServer(的DataRow [])
此方法将所提供的
DataRow
数组中的所有行复制到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表。在WriteToServer(数据表)
此方法将所提供的所有行复制
DataTable
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中。在WriteToServer(IDataReader的)
此方法将所提供的所有行复制
IDataReader
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中。WriteToServer(DataTable,DataRowState)
此方法复制与提供
DataTable
给由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中提供的行状态相匹配的行。在WriteToServer(OracleRefCursor)
此方法将所有从指定的行复制
OracleRefCursor
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
在WriteToServer(的DataRow [])
此方法将所提供的DataRow
数组中的所有行复制到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表。
宣言
// C#public void WriteToServer(DataRow [] rows);
参数
rows
DataRow
要复制到目标表的对象数组。
例外
ArgumentNullException
- rows
参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
该ColumnMappings
集合从映射DataRow
列到目标数据库表。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
在WriteToServer(数据表)
此方法将所提供的所有行复制DataTable
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中。
宣言
// C#public void WriteToServer(DataTable table);
参数
table
源
DataTable
包含要复制到目标表的行。
例外
ArgumentNullException
- table
参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
所有行都DataTable
被复制到目标表,除了那些被删除的行。
该ColumnMappings
集合从映射DataTable
列到目标数据库表。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
在WriteToServer(IDataReader的)
此方法将所提供的所有行复制IDataReader
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中。
宣言
// C#public void WriteToServer(IDataReader reader);
参数
reader
包含
IDataReader
要复制到目标表的行的实例。
例外
ArgumentNullException
- reader
参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
批量复制操作从数据读取器的下一个可用行开始。通常,reader
通过调用该ExecuteReader
方法返回的方法将传递给该WriteToServer
方法,以便下一行成为第一行。要复制多个结果集,应用程序必须调用NextResult
上reader
,然后调用WriteToServer
再次方法。
该WriteToServer
方法在内部调用reader.Read
以获取源行时更改读取器的状态。因此,在结束时WriteToServer
操作时,reader
是在结果集的末尾。
该ColumnMappings
集合从数据读取列到目标数据库表映射。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
WriteToServer(DataTable,DataRowState)
此方法复制与提供DataTable
给由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表中提供的行状态相匹配的行。
宣言
// C#public void WriteToServer(DataTable 表,DataRowState rowState);
参数
table
甲
DataTable
含有行被复制到目标表。rowState
该
DataRowState
枚举值。只有匹配行状态的行被复制到目标。
例外
ArgumentNullException
- table
或rowState
参数为null。
InvalidOperationException
- 连接不处于打开状态。
备注
DataTable
在rowState
参数中指示的并且尚未被删除的状态中的行只被复制到目标表。
该ColumnMappings
集合从映射DataTable
列到目标数据库表。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
在WriteToServer(OracleRefCursor)
此方法将所有从指定的行复制OracleRefCursor
到由对象的DestinationTableName
属性指定的OracleBulkCopy
目标表。
宣言
// C#public void WriteToServer(OracleRefCursor refCursor);
参数
refCursor
OracleRefCursor
包含要复制到目标表的行的对象。
例外
ArgumentNullException
- refCursor
参数为null
InvalidOperationException
- 连接不处于打开状态。
备注
该ColumnMappings
集合从映射OracleRefCursor
列到目标数据库表。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
OracleBulkCopy事件
OracleBulkCopy
事件列于表17-7。
表17-7 OracleBulkCopy事件
OracleRowsCopied
每次处理由OracleBulkCopy.NotifyAfter
属性指定的行数时触发
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
OracleRowsCopied
每次处理由OracleBulkCopy.NotifyAfter
属性指定的行数时,触发此事件。
宣言
// C#公共事件OracleRowsCopiedEventHandler OracleRowsCopied;
例外
InvalidOperationException
- 该Close
方法在此事件中调用。
备注
当NotifyAfter
属性指定的行数已被处理时,会引发此事件。这并不意味着行已发送到数据库或提交。
要取消此事件的操作,请使用类的Abort
属性OracleRowsCopiedEventArgs
。
也可以看看:
“Oracle.DataAccess.Client命名空间”
OracleBulkCopy类
OracleBulkCopy成员
“NotifyAfter所”
- OracleBulkCopy类说明
- 浅谈OracleBulkCopy的使用
- OracleBulkCopy批量插入数据
- oracle的oraclebulkcopy的使用
- OracleBulkCopy处理数据量较大时超时问题
- OracleBulkCopy 批量插入oracle数据库的方法
- C# OracleBulkCopy 批量插入oracle数据库的方法
- 【物流系统】——C#Oracle批量导入(二)OracleBulkCopy
- Oralce错误处理一例(使用OracleBulkCopy要非常小心)
- 类中的方法说明
- SharePoint类库说明
- Display类说明文档
- Displayable类说明文档
- List类说明文档
- Form类说明文档
- Item类说明文档
- TextField类说明文档
- CRect类说明
- 开源数据库 H2, HSQLDB, DERBY, PostgreSQL, MySQL区别/对比图表
- ARM day4 UART传输协议
- CheckStyle插件在eclipse中的安装及配置
- 加密、解密
- 安卓数据库框架——Realm基础学习
- OracleBulkCopy类说明
- CNN、BP算法
- centos oracle
- mysql用户权限设置
- 欢迎使用CSDN-markdown编辑器
- Qt QTreeWidget 树形结构实现
- ECMA-262-5 in detail. Chapter 2. Strict Mode.
- 【Nosql-redis】Linux下php安装Redis扩展
- 负数的二进制表示方法