Az első ODP .NET projekt


ODP Console DemoAz ODP, azaz az Oracle Data Provider .NET library kikísérletezésének legegyszerűbb módja, egy Console Application készítése. A teszteléshez a gyorsabb elérés érdekében saját Oracle Express adatbázisomat használtam a benne található példasémával. Oracle XE, ODP .NET és a Konzol, no meg az Exception-ök.

Az ODP sem bonyolultabb, mint bármilyen más .NET driver, előnye viszont abban rejlik, hogy nemcsak gyorsabb és hangolható elérést biztosít Oracle adatbázisainkhoz, de teljesen lefedi az abban elérhető adattípusok széles skáláját, melyek így különösebb trükközések nélkül elérhetőek közvetlenül .NET alkalmazásunkból.

Referenciák

VS Add ODP ReferenceHozzuk létre új ConsoleApplication projektünket a Visual Studio File/New/Project/Windows/ConsoleApplication menü választásával. Ahhoz, hogy használni tudjuk az ODP .NET csomag nyújtotta lehetőségeket hozzá kell adnunk projektünk referenciához, melyet a Solution Explorer-ben található References mappára jobb egérgombbal kattintva érhetünk el az Add Reference menün keresztül. Ezután a megjelenő .NET listából válasszuk az Oracle.DataAccess 2.0-s .NET runtime komponensét. Ezután pedig adjuk meg ezt a library-t a Program.cs fejlécébe: using Oracle.DataAccess.Client;

OracleConnection

Itt is, mint mindenhol szükségünk van egy kapcsolat objektumra, mely megnyitja és lezárja az adatbázissal a kommunikációs csatornánkat. Ennek megfelelője esetünkben az OracleConnection, melynek konstruktorának adhatjuk át a a megszokott connectionstringet.

string connStr= "Data Source=(DESCRIPTION=(ADDRESS_LIST="
                + "(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))"
                + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));"
                + "User Id=HR;Password=teszt;";

OracleConnection conn = new OracleConnection(connStr);

Kapcsolatunkat nyithatjuk és zárhatjuk a conn.Open() illetve conn.Dispose() metódusokkal, de használhatjuk a .NET alatt jól megszokott using() {} kulcsszót is.

OracleCommand

Felépített kapcsolatban vagy using eljárásban futtathatjuk SQL utasításainkat, melyeket az OracleCommand osztályból példányosíthatunk. Ezek lehetnek általunk szerkesztett SQL query-k vagy tárolt eljárás hívások, melyet a CommandType property-vel állíthatunk be.

conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "select deptno, dname, loc from dept";
cmd.CommandType = CommandType.Text;

OracleDataReader

Majd utasításunkat az ExecuteReader() metódussal futtatva, kiolvassunk annak eredményét az OracleDataReader osztály egy példányával, majd a példány Read() függvénnyel sorról sorra kiolvassuk amíg lehet és végül lezárjuk az egyes instanciákat a Dispose() metódussal

OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr.GetInt16(0).ToString() + " - "
 + dr["STREET_ADDRESS"].ToString());
}
dr.Dispose();
cmd.Dispose();
conn.Dispose();

A Teljes mintakódunk így az alábbiak szerint néz ki:

using System;
using System.Data;
using Oracle.DataAccess.Client;

namespace ConsoleApplication1
{
 class Program
 {
 static void Main(string[] args)
 {
 string connStr = "Data Source=(DESCRIPTION=(ADDRESS_LIST="
 + "(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))"
 + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));"
 + "User Id=HR;Password=teszt;";

 OracleConnection conn = new OracleConnection(connStr);
 conn.Open();

 OracleCommand cmd = new OracleCommand();
 cmd.Connection = conn;
 cmd.CommandText = "SELECT * FROM LOCATIONS";
 cmd.CommandType = CommandType.Text;

 OracleDataReader dr = cmd.ExecuteReader();
 while (dr.Read())
 {
Console.WriteLine(dr.GetInt16(0).ToString() + " - "
 + dr["STREET_ADDRESS"].ToString());
 }

 dr.Dispose();
 cmd.Dispose();
 conn.Dispose();

 Console.ReadLine();
 }
 }
}

A forráskód letöltéséhez kattint ide: ODP .NET Első Console Demo Projekt


Készült 2009-10-05 18:48 - Kategória: Oktatás, Oracle


Megjegyzés írása

English Spanish French German Italian Hungarian