OracleTypes
.NET Framework Data Provider for Oracle에는 Oracle 데이터 형식으로 작업하는 데 사용할 수 있는 여러 가지 구조가 들어 있습니다. 여기에는 OracleNumber 및 OracleString이 포함됩니다.
참고 |
---|
이러한 구조의 전체 목록은 System.Data.OracleClient를 참조하십시오. |
다음은 C# 예제입니다.
Oracle 테이블을 만들고 데이터와 함께 로드합니다.
OracleDataReader를 사용하여 데이터에 액세스하고 여러 가지 OracleType 구조를 사용하여 데이터를 표시합니다.
Oracle 테이블 만들기
이 예제에서는 Oracle 테이블을 만들고 데이터와 함께 로드합니다. 반드시 이 예제를 실행한 후 다음 예제를 실행해야 합니다.
public void Setup(string connectionString)
{
OracleConnection conn = new OracleConnection(connectionString);
try
{
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText ="CREATE TABLE OracleTypesTable " +
"(MyVarchar2 varchar2(3000),MyNumber number(28,4) " +
"PRIMARY KEY ,MyDate date, MyRaw raw(255))";
cmd.ExecuteNonQuery();
cmd.CommandText ="INSERT INTO OracleTypesTable VALUES " +
"( 'test', 2, to_date('2000-01-11 12:54:01','yyyy-mm-dd " +
"hh24:mi:ss'), '0001020304' )";
cmd.ExecuteNonQuery();
}
catch(Exception)
{
}
finally
{
conn.Close();
}
}
Oracle 테이블에서 데이터 검색
이 예제에서는 OracleDataReader를 사용하여 데이터에 액세스하고 여러 가지 OracleType 구조를 사용하여 데이터를 표시합니다.
public void ReadOracleTypesExample(string connectionString)
{
OracleConnection myConnection =
new OracleConnection(connectionString);
myConnection.Open();
OracleCommand myCommand = myConnection.CreateCommand();
try
{
myCommand.CommandText = "SELECT * from OracleTypesTable";
OracleDataReader oracledatareader1 = myCommand.ExecuteReader();
oracledatareader1.Read();
//Using the oracle specific getters for each type is faster than
//using GetOracleValue.
//First column, MyVarchar2, is a VARCHAR2 data type in Oracle
//Server and maps to OracleString.
OracleString oraclestring1 =
oracledatareader1.GetOracleString(0);
Console.WriteLine("OracleString " + oraclestring1.ToString());
//Second column, MyNumber, is a NUMBER data type in Oracle Server
//and maps to OracleNumber.
OracleNumber oraclenumber1 =
oracledatareader1.GetOracleNumber(1);
Console.WriteLine("OracleNumber " + oraclenumber1.ToString());
//Third column, MyDate, is a DATA data type in Oracle Server
//and maps to OracleDateTime.
OracleDateTime oracledatetime1 =
oracledatareader1.GetOracleDateTime(2);
Console.WriteLine("OracleDateTime " + oracledatetime1.ToString());
//Fourth column, MyRaw, is a RAW data type in Oracle Server and
//maps to OracleBinary.
OracleBinary oraclebinary1 =
oracledatareader1.GetOracleBinary(3);
//Calling value on a null OracleBinary throws
//OracleNullValueException; therefore, check for a null value.
if (oraclebinary1.IsNull==false)
{
foreach(byte b in oraclebinary1.Value)
{
Console.WriteLine("byte " + b.ToString());
}
}
oracledatareader1.Close();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
myConnection.Close();
}
}