zoukankan      html  css  js  c++  java
  • Oracle数据类型与.NET中的对应关系

    转自trf123trf原文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[] 或 OracleBinary,Oracle .NET 数据提供程序不会自动为您构造一个参数。

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

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

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

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

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

     

     oracle的数据类型的更多信息,请参考本人博客,Oracle的数据类型

     

  • 相关阅读:
    R语言在最后一行追加字符
    linux系统中将每行特定数目字符后的字符替换为指定字符
    设定到那个层级上
    uv 一些常用
    编辑控件
    渲染点显示的 帮助
    直线y=x
    dotNetControl PictrueBox
    控件表
    颜色的东西
  • 原文地址:https://www.cnblogs.com/arxive/p/10396299.html
Copyright © 2011-2022 走看看