现在的位置: 首页 > 综合 > 正文

.NET中使用ORACLE

2013年12月12日 ⁄ 综合 ⁄ 共 1943字 ⁄ 字号 评论关闭

要在數據存儲區和應用程序之間移動數據,必須首先擁有到該數據存儲區的連接。
ADO.NET 中的連接對象:
1,SqlConnection:該對象管理與SQLServer7.0版或更高版本的連接。通過忽略OLEDB層(還包括其他設施),對該對象進    行優化以便將其用於SQL Server 7.0或更高版本。
2,OleDbConnection :該對象管理與可通過OLE DB訪問的任何數據存儲區的連接。
3,OdbcConnection  :該對象管理與通過實用連接字符串或ODBC數據源名稱(DSN)創建的數據遠的連接。
4,OracleConnection:該對象管理與Oracle數據庫的連接。

關於ADO.NET連接工具的詳細介紹參照:MSDN-->ADO.NET 連接對象

以下介紹Oracle提供的Oracle.DataAccess.Client.OracleConnection的使用
命名空間:Oracle.DataAccess.Client
需要引入(參照)Oracle.DataAccess.Client.dll,
位置:C:/Oracle/product/10.1.0/Client_1/bin、Oracle.DataAccess.dll

例:

// Data Source 為C:/Oracle/product/10.1.0/Client_1/network/ADMIN/tnsnames.ora里定義的名字
sConnectionString = "User ID=MYID;password=123;Data Source=MYDB";
OracleConnection myCon = new OracleConnection(sConnectionString);
OracleTransaction myTran;
(

OracleConnection myCon = new OracleConnection();
myCon.ConnectionString = sConnectionString;
)
myCon.Open();
myTran = myCon.BeginTransaction(IsolationLevel.Serializable);
(

myTran = myCon.BeginTransaction();
)
OracleCommand command = myCon.CreateCommand();
command.Connection  = myCon;
command.Transaction  = myTran ;    //  用System.Data.OracleClient.OracleCommand 時是必需的
                                           //  Oracle.DataAccess.Client.OracleCommand 時不是必需的
command.CommandText = "select * from TableA where age = :AAA and name = :BBB";

// 設置輸入參數OracleParameter,如果sql 語句不帶參數,此對象可以不設定
OracleParameter dbParam1 = command.CreateParameter();
dbParam1.ParameterName = "AAA";
dbParam1.DbType = DbType.Decimal;// 類型為System.Data.DbType,關於數據庫類型與.NET類型的對應關係參照MSDN
dbParam1.Value  = 8;

OracleParameter dbParam2 = command.CreateParameter();
dbParam2.ParameterName = "AAA";
dbParam2.DbType = DbType.AnsiStringFixedLength;
dbParam2.Value  = "xiaolongnv";

command.Parameters.Add(dbParam1);
command.Parameters.Add(dbParam2);

// 注:如果要更新數據庫(INSERT或UPDATE或DELET),執行command.ExecuteNonQuery();

// 檢索結果保存到dsMyDataSet中
OracleDataAdapter adapter = new OracleDataAdapter(command);
DataSet dsMyDataSet   = new DataSet();

adapter.Fill(dsMyDataSet);  // 檢索結果保存到dsMyDataSet中

// COMMIT
myTran.Commit();
// 關閉連接
myCon.Close();
 

抱歉!评论已关闭.