oracle中sde_type对应关系,<转>Oracle数据类型与.NET中的对应关系

Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下。

两种不同的添加引用语句:

(1)System.Data.OracleClient;

(2)Oracle.DataAccess.Client;

Oracle.DataAccess.Type;

采用第二种引用,创建的OracleCommand实例有ArrayBindCount属性,可用于传入数组型参数,执行多次储存过程函数。

对于不同引用创建OracleParameter实例,类型也存在着差异:

第一种引用:System.Data.OracleClient.OracleParameter  para=new System.Data.OracleClient.OracleParameter("APPLICATIONNAME_",OracleType.NVarChar,200);

第二种引用:Oracle.DataAccess.Client.OracleParameter para=new Oracle.DataAccess.Client.OracleParameter("APPLICATIONNAME_",OracleDbType.Varchar2,200);

下面结合.NET开发需要,对数据类型比较整合下:

备注:

(1).NET类型:OracleDataReader.GetValue返回的.NET Framework数据类型;

(2)OracleType类型:OracleDataReader.GetOracleValue返回的OracleClient数据类型。

(3)DbType:要绑定为参数的System.Data.DbType枚举

(4)OracleType:要绑定为参数的OracleType枚举

序号

Oracle数据类型

.NET类型

GetOracleValue类型

DbType

OracleType

1

BFILE

byte[]

OracleBFile

BFile

2

BLOB

byte[]

OracleLob

Blob

3

CHAR

string

OracleString

AnsiStringFixedLength

Char

4

CLOB

string

OracleLob

Clob

5

DATE

DateTime

OracleDateTime

DateTime

DateTime

6

FLOAT

Decimal

OracleNumber

Single、Double、Decimal

Float、Double、Number

7

INTEGER

Decimal

OracleNumber

SByte、Int16、Int32、Int64、Decimal

SByte、Int16、Int32、Number

8

INTERVAL YEAR TO  MONTH

Int32

OracleMonthSpan

Int32

IntervalYearToMonth

9

INTERVAL DAY TO  SECOND

TimeSpan

OracleTimeSpan

Object

IntervalDayToSecond

10

LONG

string

OracleString

AnsiString

LongVarChar

11

LONG RAW

byte[]

OracleBinary

Binary

LongRaw

12

NCHAR

string

OracleString

StringFixedLength

NChar

13

NCLOB

string

OracleLob

NClob

14

NUMBER

Decimal

OracleNumber

VarNumeric

Number

15

NVARCHAR2

string

OracleString

String

NVarChar

16

RAW

byte[]

OracleBinary

Binary

RAW

17

ROWID

string

OracleString

AnsiString

Rowid

18

TIMESTAMP

DateTime

OracleDateTime

DateTime

Timestamp

19

VARCHAR2

string

OracleString

AnsiString

VarChar

(1) Oracle 只允许将 BFILE 绑定为 BFILE 参数。如果您尝试绑定非 BFILE 值,例如 byte[] 或 ,Oracle .NET 数据提供程序不会自动为您构造一个参数。

(2) Oracle 只允许将 BLOB 绑定为 BLOB 参数。如果您尝试绑定非 BLOB 值,例如 byte[] 或 OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。

(4)Oracle 只允许将 CLOB 绑定为 CLOB 参数。如果您尝试绑定非 CLOB 值,例如 System.String 或 OracleString,Oracle .NET 数据提供程序不会自动为您构造一个参数。

(6、7) 确定System.Data.DBType 和OracleType。

(8、9、18) 仅在同时使用 Oracle 9i 客户端和服务器软件时才适用。

(13)Oracle 只允许将 NCLOB 绑定为 NCLOB 参数。如果您尝试绑定非 NCLOB 值,例如 System.String 或 OracleString,Oracle .NET 数据提供程序不会自动为您构造一个参数。

ASTM D4583-21(2025).pdf ASTM D4583-21(2025) 立即下载

相关推荐

技术移机构如何高效评估技术成果的价值?.docx

技术移机构如何高效评估技术成果的价值?

Oracle查询SDE表和字段信息

select t.* from sde.table_registry t; select t.* from sde.column_registry t;

a_dev的专栏 1804

科技园区如何精准招引高潜力科创项目并提升招商效率?.docx

科技园区如何精准招引高潜力科创项目并提升招商效率?

SQL Server数据类型SDE库表sde_type对照表

SDE_column_registry 表管理所有注册列。 警告:如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新。这可能导致之后的任何数据导出失败。 SQL Server数据类型sde_type对照表: SQLServer类型 sde_type column_size decimal_diits ...

weixin_34318326的博客 182

PostgreSQL-Arcgis地理数据库中的系统表

应用场景: 当我们在使用基于PostgreSQL的企业级地理数据库时(ArcSDE),有时因为某个问题可能需要追踪该地理数据库的行为,以便于分析具体原因,这时候就需要访问ArcSDE企业级地理数据库的系统表来进行分析(一般只执行查询操作)。 注:不得使用 ArcGIS 软件或 SDK 以外的任何其他软件更改系统表及其内容。但是,您可以使用 SQL 来查看系统表的内容 系统表列表: 核心系统表 GDB_CONFLICTS gdb_itemrelationship............

技术改变世界 2258

ArcSDE C API

摘要:本文以一个C/C++实例分步讲述了利用ArcSDE C API向空间数据库中添加实体图形的方法。 利用ArcSDE8.1 C API向空间数据库中添加实体图形大致可分为六步。步骤如下: 第一步:空间数据库建立连接。 SE_CONNECTION handle; //空间数据库连接对象 SE_ERROR Connect_error; //错误状态 LONG rc;

1188

ArcSDE版本学习总结

传统版本的理解 1、复制数据 传统意义上的版本,针对整体数据进行复制多份数据,每个用户根据自己的数据进行相关的编辑操作,最后统一的进行合并操作。 2、锁定数据 另一个版本的概念就是多用户编辑同一份数据,但是针对某一条记录来说采取“锁定—编辑—释放”的方式进行的,这就制约了长事物编辑的概念。   ArcGIS版本的理解 ArcGIS版本传统关系数据库的版本(复制、锁定)有着本质的区别

模糊喵的博客 2770

Oracle spatialarcsde关系

有一些同事问过我下面这些问题: 我们用了oracle spatial sdo_geometry,是不是没用arcsde? 我们到底是使用oracle spatial还是arcsde,有点懵! 执行了create enterprise geodatabase是不是就表示使用了arcsde?那这个动作到底是做什么呢? 我们没用arcsde的服务,为什么你还说我们用了arcsde呢?...

weixin_30314631的博客 263

SDEoracle表分区(一)

引言:当默认典型安装的SDE数据库配合达不到想要的效率时,就会考虑按照需求重新配置SDE数据库之间的配合,已达到满意的效果。          如当数据库的表过大的时候,通常在oracle上会采用分区表形式,对表按照业务需求进行分区,达到提高效率的目的。同样的SDE数据库配合使用时,也会存在这样的问题,同样需要对表按照业务需求进行分区。再SDE中对数据分区oracle中有所区别。 一:

wangwg的专栏 2154

ArcSDE创建空间数据存储类型为ST_Geometry的要素类

<br />摘要:创建空间数据存储类型为ST_Geometry的要素类有2种方法: 1)使用SDE创建要素类从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtune参数来完成。2)直接使用SQL语句创建要素类。<br />创建空间数据存储类型为ST_Geometry的要素类有2种方法:<br />1)使用SDE创建要素类<br />从9.3 开始,默认创建的要素类都使用ST_Geometry存储空间数据,9.3 版本之前,可以通过配置dbtune参

shmiloy001的专栏 2599

sde for Oracle shp 、oralce spatial 的数据读写

为了项目需要,需要研究一下 sde for oracle(以下简称 sde)和 shp 的数据读写功能,以及从 oralce spatial 读取后,写入 sde。为了简化本次尝试,所有空间数据均为二维坐标点数据。线和面的内容,以后补上。 一、目录: 将 shp 文件批量增量写入 sde 空间数据表 将 sde 空间数据表数据批量另存为 shp 文件 将 sde 空间数据表数据批量增量存入...

firefly2123的专栏 895

oracle sde权限,SDE工作机制

ArcSDE属于中间件技术,其本身并不能够存储空间数据,它的作用可以理解为数据库的“空间扩展”。在基于Oracle的ArcSDE空间数据库中,ArcSDE保存了一系列Oracle对象,用于管理空间信息。这些对象统称为资料档案库(Repository),包含空间数据字典和ArcSDE软件程序包。ArcSDE需要SDE用户管理空间资料档案库,这类似于Oracle中需要SYS用户管理数据字典。Oracl...

weixin_42349978的博客 597

OracleSDE安装简介

一、双机热备环境 1.1双机热备简介 双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式 (Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即 Active状态),另一台服务器处于该业务的备用状态(即Stan

GIS大奔 3597

MyBatis----JdbcType Oracle、MySql数据类型对应关系;JdbcType类型和Java类型的对应关系

1. Mybatis JdbcTypeOracle、MySql数据类型对应列表 Mybatis JdbcType Oracle MySql JdbcType ARRAY JdbcType BIGINT BIGINT JdbcType BINARY JdbcType BIT BIT JdbcType BLOB BLOB BLOB JdbcType BOO..

拾一二的博客 3844

Arcgis创建SDE_Geometry、SDO_Geometry的区别

先初略的了解下SDE_Geometry和SDO_Geometry的区别: 1. SDO_GEOMETRY         Oracle Spatial在MDSYS模式下定义了一系列几何类型、函数来支持空间数据的存储和使用,最为人耳熟能详的就是SDO_GEOMETRY这种类型——当然,ArcSDE也可以使用这种类型进行存储。Oracle Spatial并没有像ArcGIS那样有一套从桌面到数

XP_lmq的专栏 7895
上一篇: oracle用户表丢失恢复,oracle 用户临时表空间数据文件丢失的处理 | 往事
下一篇: oracle数据库在linux,怎样在Linux系统中备份Oracle数据库
weixin_39658318
博客等级 码龄9年 38粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值