oracle|資料|資料庫 在本文中,您將瞭解到如何在 Visual Basic .NET (VB.NET) 和 Visual C# .NET (C#) 中使用資料庫事務。具體來講,您將系統學習資料庫事務、在 .NET 程式中使用 OracleTransaction 對象以及如何設定事務儲存點。本文中引用的所有指令碼和檔案都在這裡提供。本文假定您大體上熟悉 C# 和 VB.NET 編程。
所需軟體
如果您要跟隨我們逐步完成本文中給出的樣本,那麼您需要安裝以下軟體:
Windows NT 4.0、Windows 2000、Windows XP Professional 或 Windows Server 2003
能夠訪問一個已安裝的 Oracle 資料庫(Oracle8i 版本 3 8.1.7 或更高版本)
Oracle 客戶機(版本 10.1.0.2.0 或更高版本)
Oracle Net(版本 10.1.0.2.0 或更高版本)
Oracle Data Providers for .NET(版本 10.1.0.2.0 或更高版本)
Microsoft .NET Framework(版本 1.0 或更高版本)
Microsoft .NET 架構 SDK(版本 1.0 或更高版本)
如果您打算使用企業服務事務或分散式交易來開發和運行應用程式,那麼您還需要安裝 Oracle Services for Microsoft Transaction Server(10.1.0.2.0 或更高版本)。
您需要分別下載和安裝 .NET 架構以及 SDK(先安裝架構)。您還需要下載和安裝 Oracle 資料庫 10g,它包括 Oracle Data Provider for .NET (ODP.NET)。您可以選擇在不同電腦或同一電腦上安裝 ODP.NET 和資料庫伺服器。
注意:ODP.NET 驅動程式針對 Oracle 資料庫訪問進行了最佳化,因此可以獲得最佳效能,並且它們還支援 Oracle 資料庫的豐富特性,如 BFILE、BLOB、CLOB、XMLType 等。如果您正在開發基於 Oracle 資料庫的 .NET 應用程式,那麼就特性和效能來講,ODP.NET 無疑是最佳的選擇。
資料庫模式設定
首先,您需要設定資料庫模式,在此我們使用一個簡化的 Web 商店樣本。您必須首先建立一個名為 store 的使用者並按以下方式將所需的許可權授予該使用者(您必須首先以擁有 CREATE USER 許可權的使用者身份登入資料庫才能建立使用者):
CREATE USER store IDENTIFIED BY store;
GRANT connect, resource TO store;
注意:您會在原始碼檔案 db1.sql 中找到前兩個語句和該部分中出現的設定 store 模式的其他語句。
接下的語句以 store 使用者身份進行串連:
CONNECT store/store;
以下語句建立了所需的兩個資料庫表,名稱分別為 product_types 和 products:
CREATE TABLE product_types (
product_type_id INTEGER
CONSTRAINT product_types_pk PRIMARY KEY,
name VARCHAR2(10) NOT NULL
);
CREATE TABLE products (
product_id INTEGER
CONSTRAINT products_pk PRIMARY KEY,
product_type_id INTEGER
CONSTRAINT products_fk_product_types
REFERENCES product_types(product_type_id),
name VARCHAR2(30) NOT NULL,
description VARCHAR2(50),
price NUMBER(5, 2)
);
注意:如果您在一個不同的模式中為 store 使用者建立了這些資料庫表,那麼您將需要修改樣本設定檔(您稍後將看到)中的模式名稱。
表 product_types 用於儲存樣本線上商店可能庫存的產品類型的名稱,表 products 包含了所銷售產品的詳細資料。
下面的 INSERT 語句為表 product_types 和 products 添加行:
INSERT INTO product_types (
product_type_id, name
) VALUES (
1, 'Book'
);
INSERT INTO product_types (
product_type_id, name
) VALUES (
2, 'DVD'
);
INSERT INTO products (
product_id, product_type_id, name, description, price
) VALUES (
1, 1, 'Modern Science', 'A description of modern science', 19.95
);
INSERT INTO products (
product_id, product_type_id, name, description, price
) VALUES (
2, 1, 'Chemistry', 'Introduction to Chemistry', 30.00
);
INSERT INTO products (
product_id, product_type_id, name, description, price
) VALUES (
3, 2, 'Supernova', 'A star explodes', 25.99
);
INSERT INTO products (
product_id, product_type_id, name, description, price
) VALUES (
4, 2, 'Tank War', 'Action movie about a future war', 13.95
);
COMMIT;
接下來,您將瞭解有關資料庫事務的內容。
[1] [2] [3] 下一頁