آموزش اتصال به پایگاه داده Oracle به زبان سی شارپ

پایگاه داده Oracle

این مقاله درباره ی نحوه ی اتصال به پایگاه داده Oracle با استفاده از C# آشنایی است. همه ی ما میدانیم که Oracle پایگاه داده ی است که بیشتر مورد استفاده قرارر میگیرد در بازار امروز . در طرف دیگر اگر درباره ی چارچوب.NET  صحبت کنیم این یک چارچوب نرم افزار توسعه یافته توسط غول نرم افزار مایکروسافت است که این شامل یک کلاس عظیم که با نام کتابخانه ی کلاس چارچوب (FCL) شناخته میشود و قابلیت همکاری زبان در سراسر زبان های برنامه نویسی مختلف را فراهم میکند.

در این مقاله در مورد اینکه چگونه بین یک پایگاه داده ی Oracle و چارچوب .NET با استفاده از C# ارتباط برقرار کنیم بحث خواهیم کرد. این مقاله بیشتر بر روی توضیح اینکه چگونه ارتباط میتواند برقرار شود و مشکلاتی که ممکن است بوجود بیاید و راه های برطرف کردن آنها تمرکز خواهیم کرد.

پیش نیاز ها

  • برنامه ی مایکروسافت ویژوال استودیوی ۲۰۰۸ یا بالاتر (من از ۲۰۱۲ استفاده خواهم کرد).
  • پایگاه داده ی Oracle2 یا بالاتر یا پایگاه داده ی Oracle XE .
  • نصب جز دسترسی داده Oracle (ODAC)

از لینک زیر برای دانلود ODAC استفاده کنید :

دانلود Oracle

زمانی که شما ODAC را نصب کردید باید به دنبال فایل های اسمبلی زیر باشید.

Oracle.DataAccess.dll (این فایل اسمبلی مورد نیاز است)

Oracle.ManagedDataAccess.dll (انتخابی)

Oracle.Web.dll (انتخابی)

منابع زیر را بیافزایید :

  • به Solution Explorer بروید.
  • راست کلیک کنید و افزودن مرجع را انتخاب کنید.
  • بر روی گسترش کلیک کنید.
  • فایل های ذکرشده ی بالا را انتخاب کنید و بر روی تایید کلیک کنید.

خوبه , حال مراجع به پروژه اضافه شده اند.

چگونه بفهمم که مراجع به پروژه اضافه شده اند یا خیر ؟ سوال خوبیه !

به فایل Web.Config بروید و میتوانید کد زیر را ببینید :

پایگاه داده Oracle

و همچنین میتوانید فولدر, bin , که در حال حاضر در Solution Explorer ساخته شده است را چک کنید.

امیدوارم همه چیز تا اینجا خوب بوده باشه !

و حالا بخش اصلی . بله , کد زدن !

در زیرچگونگی نمونه ی ساخت ورودی های TNS آمده است :

پایگاه داده Oracle

باید جزئیات زیر را قبل از ساخت ورودی های TNS بفهمید :

توسعه دهنده ی میزبانت

این پرسش SQL میتواند به شما در تعیین نام میزبان کمک کند :


SELECT SYS_CONTEXT (‘USERENV’, ‘SERVER_HOST’) FROM DUAL;

 

  • باید نام سرویس را بدانید. میتوانید آن را در ora بیابید , این به شما اجازه میدهد که شما را به عنوان مثال با شنونده ثبت نام کند.
  • سومی id کاربر و رمز عبور است.
  • فراموش نکنید که فضای نام “using Oracle.DataAccess.Client;” را اضافه کنید.

کد منبع


using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Oracle.DataAccess.Client;

using System.Data;

 

public partial class _Default : System.Web.UI.Page

{

//creating TNS entries

string oradb = "Data Source=(DESCRIPTION =" +

"(ADDRESS = (PROTOCOL = TCP)(HOST = Your host name)(PORT = 1521))" +

"(CONNECT_DATA =" +

"(SERVER = DEDICATED)" +

"(SERVICE_NAME = XE)));" +

"User Id= your user id;Password=<strong>******</strong>;";

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btn_Click(object sender, EventArgs e)

{

OracleConnection conn = new OracleConnection(oradb);

conn.Open();

Response.Write("Connected to Oracle" + conn.ServerVersion);

// Close and Dispose OracleConnection object

conn.Close();

conn.Dispose();

Response.Write("Disconnected");

}

}

 

 

برسی خط به خط کدهای فوق

OracleConnection() : مقداردهی اولیه ی یک عنوان جدید از OracleConnection .

OracleConnection(oradb) : مقداردهی اولیه ی یک عنوان جدید از کلاس OracleConnection با رشته ی ارتباطی مخصوص.

OracleCommand() : مقداردهی اولیه ی یک عنوان جدید از OracleCommand .

CommandText : get و set های بیان SQL یا روش ذخیره تا اجرای در برابر پایگاه داده.

Connection : get و set های OracleConnection استفاده شده توسط عنوان OracleComman .

OracleDataReader : برای ساخت یک OracleDataReader باید متد ExecuteReader از کلاس OracleCommand را فراخوانی کنید به جای استفاده ی مستقیم از یک سازنده. تغییرات بر نتیجه توسط پردازش دیگری یا زمانی که به صورت ظاهر شده توسط کاربر OracleDataReader خوانده میشود اعمال میشود.

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.