はじめに Oracle Database 10g Release2では、デ`タベ`スのストアドプロシ`ジャファンクション參和、ストアドプロシ`ジャを.NET冱ZであるVB.NETやC#で恬撹できます。これらの.NET冱Zで恬撹されたストアドプロシ`ジャを仝.NETストアドプロシ`ジャ々と柵びます。そして、これをgFするのがOracleDatabase Extensions for .NET參和、ODE.NETです。
宥械、Oracleのストアドプロシ`ジャはPL/SQLという冱Zで峰する駅勣がありますが、ODE.NETを旋喘すると、PL/SQLを旋喘したことのない_k宀でも、VBやC#といった冱ZでOracleのストアドプロシ`ジャを恬撹できます。書指は、ODE.NETを旋喘して.NETストアドプロシ`ジャを峰してみましょう。
黎i宀
VB、もしくはC#でOracleのストアプロシ`ジャを峰したい繁。
駅勣なh廠 Visual Studio 2005 Standard Edition參貧が駅勣です。また、ODE.NETはOracleDatabase 10g Release210.2.0からg廾されたC嬬で、Windows貧で嘛するOracleに浙┐気譴泙后OracleのEditionはStandardEdition ONE參貧から旋喘辛嬬です。その麿、.NETストアドプロシ`ジャの_k、デプロイを佩うために、Oracle Developer Tools for Visual Studio .NET 10.2參和、ODT 10.2が駅勣になります。
ODE.NETのインスト`ル1/2 ODE.NETをインスト`ルしてみましょう。ODE.NETはOracleデ`タベ`ス箸C嬬なので、Oracleをインスト`ルするrにODE.NETも匯wにインスト`ルします。廣吭泣として、ODE.NETはデフォルトではインスト`ルされないため、デ`タベ`スをインスト`ルするHのインスト`ル・タイプで曠スタム櫃鰡xkします。
貧サイトから、Oracle Data Provider for .NET 2.010.2.0.2.20櫃鬟リックし、Oracle Developer Tools for Visual Studio .NET withODAC10.2.0.2.20櫃鬟リックします┐海海らはOTNへのログインが駅勣になり、ログインしていない栽は、ログインを佩う鮫中が燕幣されます。
ライセンス弐sが燕幣されるので、すべての坪否を_Jして駅勣なチェックボックスをオンにし柩吭する櫂椒織鵑鬟リックすると、ファイルのダウンロ`ドペ`ジが燕幣されます。ODTwithODAC10202.exe櫃鬟リックすると、ファイルのダウンロ`ドが_兵します。
ダウンロ`ドした仝ODTwithODAC10202.exe々は徭失盾侘塀のRsファイルになっていますので、エクスプロ`ラからダブルクリックして盾すると、仝stage々と仝install々という2つのフォルダが恬撹されます。仝install々フォルダから仝setup.exe々をg佩し、Oracle UniversalInstaller參和、OUI軟咾気察犬茲Δ海宗垢了中で、朶里悖櫂椒織鵑鬟リックします。
仝インスト`ルするu瞳のxk々の鮫中で、Oracle Database Extensions for .NET 10.2.0.1.0櫃鰡xkして朶里悖櫃鬟リックします。
仝ホ`ムのの峺協々鮫中で、インスト`ル枠を峺協します。ここで嶷勣な泣として、枠ほどインスト`ルした仝Oracle Database Extensions for .NET 10.2.0.1.0々と揖匯のインスト`ル枠を峺協してください。
Public Shared Function GetEmpName(ByVal empno As Integer) As String
'コネクションの_羨
Dim conn As New OracleConnection("context connection=true")
conn.Open()
''SQLのk佩と、糧ゝ
Dim cmd As OracleCommand = conn.CreateCommand
cmd.CommandText = "SELECT ename FROM emp WHERE empno=:1"
cmd.Parameters.Add(":1", OracleDbType.Int32, empno, _
ParameterDirection.Input)
Dim rdr As OracleDataReader = cmd.ExecuteReader
Dim strRet As String
If rdr.Read Then
strRet = rdr.Item("ename")
Else
strRet = ""
End If
rdr.Close()
conn.Close()
Return strRet
End Function
仝SCOTT々ユ`ザ`の仝EMP々燕にアクセスするサンプル
public static string GetEmpName(int empno)
{
// コネクションの_羨
OracleConnection conn =
new OracleConnection("context connection=true");
conn.Open();