偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET訪問(wèn)Oracle數(shù)據(jù)庫(kù) 執(zhí)行SQL語(yǔ)句過(guò)程

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維 Oracle 開(kāi)發(fā)
本文將著重講解ASP.NET訪問(wèn)Oracle數(shù)據(jù)庫(kù),執(zhí)行SQL語(yǔ)句和調(diào)用存儲(chǔ)過(guò)程。

Web服務(wù)器的配置:

1.安裝Oracle 客戶端

參考《Oracle 9i & PLSQL 全簡(jiǎn)體中文版數(shù)據(jù)庫(kù)安裝過(guò)程(圖解)》,在選擇安裝的時(shí)候僅安裝客戶端即可

2.為安裝客戶端的服務(wù)器配置Net 服務(wù)

參考 《Oracle 9i/10g 數(shù)據(jù)庫(kù) 創(chuàng)建數(shù)據(jù)庫(kù) Net 配置 創(chuàng)建表 SQL查詢 創(chuàng)建存儲(chǔ)過(guò)程》

3.新建一個(gè)用戶,并賦予OBA角色

1.通過(guò)PL SQL 建立用戶

使用SysDBA系統(tǒng)用戶登陸 PLSQL ,建立一個(gè)用戶

賦給此用戶OBA角色。 

 

2.通過(guò)Enterprise Manager Console 建立用戶

4.測(cè)試確認(rèn)存儲(chǔ)過(guò)程是正常的

可以右鍵點(diǎn)擊存儲(chǔ)過(guò)程,選擇測(cè)試,看是否能夠達(dá)到預(yù)期的效果

#p#

ASP.NET訪問(wèn)Oracle 的簡(jiǎn)單例子

1.為靈活設(shè)置,將連接字符寫在web.config文件中

                        字符串說(shuō)明:       需要定義Net服務(wù):    注意:這種連接方法可能會(huì)出現(xiàn)權(quán)限問(wèn)題請(qǐng)參考 我的另一篇隨筆解決“System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本?!保▓D)       無(wú)需定義Net服務(wù):   注意: 這種方法有一個(gè)問(wèn)題是,無(wú)法想上面的服務(wù)那樣一次定義服務(wù),在服務(wù)下面再定義多個(gè)連接
                           

2.為Web 應(yīng)用程序 添加 System.Data.OracleClient 程序集引用

 


3.下面是測(cè)試的程序,aspx 文件代碼如下

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AspNetOra._Default" %>




    


    

調(diào)用一個(gè)Oracle連接并執(zhí)行一條語(yǔ)句測(cè)試是否成功

調(diào)用給SQL語(yǔ)句執(zhí)行綁定

輸入輸出參數(shù)的存儲(chǔ)過(guò)程調(diào)用

執(zhí)行返回?cái)?shù)據(jù)集的Oracle存儲(chǔ)過(guò)程

aspx.cs 文件代碼如下 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data.OracleClient; namespace AspNetOra { public partial class _Default : System.Web.UI.Page { System.Data.OracleClient.OracleConnection objConn; //聲明一個(gè)OracleConnection對(duì)象 System.Data.OracleClient.OracleCommand objCmd; //聲明一個(gè)OracleCommand對(duì)象 string strcon = System.Configuration.ConfigurationManager.AppSettings["oracleconn"]; //從Web.config 文件里調(diào)用數(shù)據(jù)庫(kù)連接字符串 protected void Page_Load(object sender, EventArgs e) { } /// /// 測(cè)試連接 /// /// /// protected void Button1_Click(object sender, EventArgs e) { try { objConn = new OracleConnection(strcon); //用連接字符串,實(shí)例化連接對(duì)象 objConn.Open(); //打開(kāi)數(shù)據(jù)庫(kù)連接 string strSQL = "select * from sys.test1"; //查詢sys建立的test1表的內(nèi)容 因?yàn)槲椰F(xiàn)在用的登錄用戶不是sys了 objCmd = new OracleCommand(strSQL, objConn); //用命令和連接對(duì)象建立命令實(shí)例 objCmd.ExecuteNonQuery(); objConn.Close(); this.Label1.Text = "成功"; } catch { this.Label1.Text = "失敗"; } } /// /// 執(zhí)行SQL 語(yǔ)句返回?cái)?shù)據(jù)集合 /// /// /// protected void Button2_Click(object sender, EventArgs e) { objConn = new OracleConnection(strcon); //用連接字符串,實(shí)例化連接對(duì)象 objConn.Open(); //打開(kāi)數(shù)據(jù)庫(kù)連接 System.Data.OracleClient.OracleDataAdapter adapter = new OracleDataAdapter("select * from sys.test1", objConn); System.Data.DataSet ds = new System.Data.DataSet(); adapter.Fill(ds); GridView1.DataSource = ds.Tables[0].DefaultView; GridView1.DataBind(); } /// /// 存儲(chǔ)過(guò)程輸入、輸出參數(shù) /// /// 存儲(chǔ)過(guò)程定義如下: /// /// create or replace procedure getName(name_out out varchar2 ,id_in in varchar2) is /// begin /// select NAME into name_out from test1 where id = id_in; /// end getName; /// /// /// /// protected void Button3_Click(object sender, EventArgs e) { objConn = new OracleConnection(strcon); //用連接字符串,實(shí)例化連接對(duì)象 objConn.Open(); //打開(kāi)數(shù)據(jù)庫(kù)連接 OracleCommand cmd = new OracleCommand("getName", objConn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add("name_out", OracleType.VarChar, 20); //輸出參數(shù),注意名字要與存儲(chǔ)過(guò)程一致 cmd.Parameters["name_out"].Direction = System.Data.ParameterDirection.Output; cmd.Parameters.Add("id_in", OracleType.VarChar, 20); //輸入?yún)?shù),注意名字要與存儲(chǔ)過(guò)程一致 cmd.Parameters["id_in"].Direction = System.Data.ParameterDirection.Input; cmd.Parameters["id_in"].Value = "1"; //給輸入?yún)?shù)賦值 cmd.ExecuteNonQuery(); this.TextBox1.Text = cmd.Parameters["name_out"].Value.ToString(); //獲得輸出參數(shù) } /// /// Oracle存儲(chǔ)過(guò)程并不直接返回記錄集,記錄集以游標(biāo)的形式通過(guò)參數(shù)返回。一個(gè)包(Packages可以包含多個(gè)存儲(chǔ)過(guò)程, /// 訪問(wèn)存儲(chǔ)過(guò)程時(shí)采用“包名.存儲(chǔ)過(guò)程名”的方式。 /// 存儲(chǔ)過(guò)程是我上一個(gè)隨筆寫的Test,但是上一個(gè)存儲(chǔ)過(guò)程是用Sys建立的,在這里我又重新用當(dāng)前用戶建立的一個(gè)屬于這個(gè)用戶的包 /// /// 包定義如下: /// 包頭: /// create or replace package test is /// TYPE MYCURSOR IS REF CURSOR; /// PROCEDURE GETLIST(cur_OUT OUT MYCURSOR); /// end test; /// /// /// /// 包體: /// create or replace package body test is /// PROCEDURE GETLIST(cur_OUT OUT MYCURSOR) AS /// BEGIN /// OPEN cur_OUT FOR SELECT * FROM test1; /// END; /// end test; /// /// /// /// /// /// /// /// protected void Button4_Click(object sender, EventArgs e) { objConn = new OracleConnection(strcon); //用連接字符串,實(shí)例化連接對(duì)象 objConn.Open(); //打開(kāi)數(shù)據(jù)庫(kù)連接 OracleCommand cmd = new OracleCommand("test.GETLIST", objConn); cmd.Parameters.Add("cur_OUT", OracleType.Cursor); //注意這里的類型 cmd.Parameters["cur_OUT"].Direction = System.Data.ParameterDirection.Output; cmd.CommandType = System.Data.CommandType.StoredProcedure; OracleDataAdapter da = new OracleDataAdapter(cmd); System.Data.DataSet ds = new System.Data.DataSet(); da.Fill(ds); GridView2.DataSource = ds.Tables[0].DefaultView; GridView2.DataBind(); } } }


調(diào)用結(jié)果如下圖:

 

責(zé)任編輯:彭凡 來(lái)源: cnblog
相關(guān)推薦

2011-08-01 23:34:34

ASP.NETOracle

2009-07-20 17:12:17

ASP.NET訪問(wèn)數(shù)據(jù)

2009-07-20 16:56:16

SQL語(yǔ)句ASP.NET

2009-07-28 17:36:21

ASP.NET數(shù)據(jù)庫(kù)連

2009-07-31 09:57:47

ASP.NET數(shù)據(jù)庫(kù)緩

2009-02-23 15:20:03

SQL Server數(shù)據(jù)庫(kù)ASP.NET

2009-04-17 09:36:25

ASP.NETOracleWinform

2009-08-19 10:54:42

ASP.NET數(shù)據(jù)訪問(wèn)

2009-08-05 09:38:28

SQL Server數(shù)

2009-07-31 10:29:57

ASP.NET數(shù)據(jù)庫(kù)操

2009-07-28 11:00:24

Excel導(dǎo)入SQL

2009-08-11 12:52:05

ASP.NET數(shù)據(jù)庫(kù)程

2009-08-05 15:40:49

ASP.NET連接數(shù)據(jù)

2009-07-29 09:12:31

ASP.NET數(shù)據(jù)庫(kù)連

2009-08-12 11:04:38

ASP.NET和SQL

2009-09-03 19:30:02

ASP.NET數(shù)據(jù)庫(kù)SQL Server

2010-11-18 10:06:16

Oracle數(shù)據(jù)庫(kù)性能

2009-07-31 16:09:23

ASP.NET數(shù)據(jù)庫(kù)圖

2009-07-27 14:24:16

ASP.NET訪問(wèn)權(quán)限

2010-04-29 14:06:40

Oracle SQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)