الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

درس: ربط قواعد بيانات الاوراكل بالجافا (صور)

مغلق
بدأه صلاح الثبيتي في 26 فبراير 2003 · 12 رد · 3,395 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم،،،

سوف نقوم بعملية ربط الجافا بقاعدة البيانات اوراكل..

سوف نستخدم Windows XP و Oracle9i database بالدرس،

اولاً: نقوم بفتح ODBC Data Source Administrator من لوحة التحكم

salah.jdbc.odbc1.PNG

ثانياً: نقوم بإضافة User Data Sources عن طريق الزر Add، سوف تجد لائحة و بنهايتها سوف تجد Oracle in OraHome92 و هو الدرايفر المطلوب. قم بالضغط على Finish.

salah.jdbc.odbc2.PNG

ثالثاً: سوف تظهر نافذة الـ Oracle ODBC Driver Configuration و منها نقوم بكتابة الـ Data Source Name و اسم المستخدم User ID، و قم بعمل Test Connection للتأكد من الاعدادات المطلوبة. و اخيراً قم بالضغط على OK للموافقة على الدرايفر.

salah.jdbc.odbc3.PNG

و هذا مثال تطبيقي

import java.sql.*;
public class Oracle{
	public static void main(String[] args){
		Connection connection;
		Statement statement;
		ResultSet result;
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(Exception e){}
		try{
			connection = DriverManager.getConnection("jdbc:odbc:ORC_Library","scott","tiger");
			statement  = connection.createStatement();
			result  = statement.executeQuery("select * from members");
			while(result.next()){
				System.out.println(result.getString("firstname") + " " + result.getString("lastname"));
			}
			result.close();
			statement.close();
			connection.close();
		}
		catch(SQLException e){
			System.out.println(e.toString());
		}
	}
}

بالسطر التالي:

connection = DriverManager.getConnection("jdbc:odbc:ORC_Library","scott","tiger");

ORC_Library: يجب يكون الاسم المكتوب في Data Source Name.

scott,tiger هم اسم و كلمة مرور المستخدم لقاعدة البيانات.

بالسطر التالي:

result  = statement.executeQuery("select * from members");

هنا تكتب استعلام الـ SQL

بالسطر التالي:

System.out.println(result.getString("firstname") +" "+ result.getString("lastname"));

هنا تطبع النتائج الموجودة في العمود firstname و العمود lsatname. (يجب اختيار جدول معين لديك فرضاً EMP Table).

** ارجو من الاداره وضع الدرس بقائمة الدورس بالموقع :)

#2

الله يعطيك العافية

ومجهود تشكر علية

اتمنى لك التوفيق

اخوك ابو ابراهيم

#3

بسم الله الرحمن الرحيم

الله ينور صلاح. مقال رائع لأحباء الأوراكل ;)

خالد

#4

مشكور أخي صلاح وبارك الله فيك.

ياجماعة لدي سؤالين أرجوكم أجيبوني عليهما وهما :

1- عندما أقوم بكتابة برنامج يكتب ويقرأ في قاعدة بيانات كيف أضمن قاعدة البيانات هذة فية بحيث المستخدم عندما يقوم بتنصيب البرنامج يتم تسجيل قاعدة البيانات مباشرة في ODBC الخاص بويندوز اي لا يحتاج المستخدم ان يقوم بتسجيلها بنفسة اي انة يذهب للوحة التحكم ثم AT ثم ODBC أريد ان يكون هذا جاهز.

2- قام الأخ صلاح مشكورا بشرح الاوراكل ولكن بإستخدم JdbcOdbcDriver ولكننا هذة الطريقة ليست جيدة فهي تتطلب وجود ODBC driver على الجهاز الذي يستخدم البرنامج ثم ان عملية التحويل من jdbc الى odbc تؤثر على أداء البرنامج من ناحية السرعة و....

المطلوب كيف مثلا نستخدم JDelevoper الذي يربط برنامج مباشرة بالاوراكل.

3- ماعليش هذا آخر سؤال ماهو التغيير عندماتكون قاعدة البيانات على جهاز آخر (Server) .

وتحياتي للجميع.

#5
اقتباس
كاتب الرسالة الأصلية : baderyy

مشكور أخي صلاح وبارك الله فيك.

ياجماعة لدي سؤالين أرجوكم أجيبوني عليهما وهما :

1- عندما أقوم بكتابة برنامج يكتب ويقرأ في قاعدة بيانات كيف أضمن قاعدة البيانات هذة فية بحيث المستخدم عندما يقوم بتنصيب البرنامج يتم تسجيل قاعدة البيانات مباشرة في ODBC الخاص بويندوز اي لا يحتاج المستخدم ان يقوم بتسجيلها بنفسة اي انة يذهب للوحة التحكم ثم AT ثم ODBC أريد ان يكون هذا جاهز.

2- قام الأخ صلاح مشكورا بشرح الاوراكل ولكن بإستخدم JdbcOdbcDriver ولكننا هذة الطريقة ليست جيدة فهي تتطلب وجود ODBC driver على الجهاز الذي يستخدم البرنامج ثم ان عملية التحويل من jdbc الى odbc تؤثر على أداء البرنامج من ناحية السرعة و....

المطلوب كيف مثلا نستخدم JDelevoper الذي يربط برنامج مباشرة بالاوراكل.

3- ماعليش هذا آخر سؤال ماهو التغيير عندماتكون قاعدة البيانات على جهاز آخر (Server) .

وتحياتي للجميع.

عندي نفس الفضول :D

#6

طبعاطريقة الاخ صلاح مفيدة فى حالة وجود قاعدة بيانات غير اوراكل واريد ان اصل اليها من خلال اوراكل فيمكننى عمل odbc connection ثم استخدام احد الدريفز الموجودة فى اوراكل والتى تدعم هذه الطريقة وهو jdbc_odbc bridge

والاخ صلاح ربنا يبارك فيها شرحها بطريقة جميلة

اما فى حالة ان تكون قاعدة البيانات التى اريد الوصول اليها هى اوراكل فيوجد

اكثر من طريقة كل واحدة تعتمد على الهدف الذى اريده فمثلا

اذا كنت اريد عمل applet تاخد بيانات من oracle table فيمكننى استخدام jdbc thin drive

واذا اردت ان استخدام وجهة استدعاء اوراكل(oracle call interface ) فيمكت استخدام oci drive وعن طريقة بمكن استخدام بروتكول غير tcp/ip ,وبالتالى يمكن الوصول لقواعد بيانات اوراكل القديمة وهو اسرع كثير من thin drive

ويوجد كذلك server side drive ويستخدم فى حالة java stored procedure

واخر drive هو oracle lite

واذا كنتم تريدون كيفية استخدام هذه الdrivers انا على استعداد ان اوضح لكم الكيفية ان شاء الله

#7

ياليت اخي mamdouh تفيدنا عن كيفية إستخدامها بتوضيح أكثر والف شكر لك اخي ;)

#8

mamdouh

اعجبني تعقيبك واتمنى ان تتكرم بشرح الطريقة الاولى مشكورا ولك خالص التحية

#9

السلام عليكم :)

انا جربت طريقه الـ thin لكن مره تشتغل و مره لا .. مش عارف وين المشكله بالضبط !!!!

#10

ياجماعة يرفع للأهمية ويرجى لمن لدية علم الإجابة على أسئلتي وألف شكر مقدما :P

#11
اقتباس
كاتب الرسالة الأصلية : baderyy

مشكور أخي صلاح وبارك الله فيك.

ياجماعة لدي سؤالين أرجوكم أجيبوني عليهما وهما :

1- عندما أقوم بكتابة برنامج يكتب ويقرأ في قاعدة بيانات كيف أضمن قاعدة البيانات هذة فية بحيث المستخدم عندما يقوم بتنصيب البرنامج يتم تسجيل قاعدة البيانات مباشرة في ODBC الخاص بويندوز اي لا يحتاج المستخدم ان يقوم بتسجيلها بنفسة اي انة يذهب للوحة التحكم ثم AT ثم ODBC أريد ان يكون هذا جاهز.

2- قام الأخ صلاح مشكورا بشرح الاوراكل ولكن بإستخدم JdbcOdbcDriver ولكننا هذة الطريقة ليست جيدة فهي تتطلب وجود ODBC driver على الجهاز الذي يستخدم البرنامج ثم ان عملية التحويل من jdbc الى odbc تؤثر على أداء البرنامج من ناحية السرعة و....

المطلوب كيف مثلا نستخدم JDelevoper الذي يربط برنامج مباشرة بالاوراكل.

3- ماعليش هذا آخر سؤال ماهو التغيير عندماتكون قاعدة البيانات على جهاز آخر (Server) .

وتحياتي للجميع.

بالنسبه للسؤال الاول... فما عندي اي فكره ..

بالنسبه للسؤال الثاني... فانا توصلت الى كيفية ربط الجافا بالاوراكل عن طريق Oracle thin driver .. ما يحتاج الى ODBC .. و ان شاء الله راح اكتب موضوع فيها ..

بالنسبة للسؤال الثالث ... التغيير الوحيد اللي تسويه انك تستخدم Oracle thin driver و لكن بدل ما تحط localhost .. تروح تكتب اسم الجهاز اللي عليه قاعدة البيانات او الـ IP تبعه :)

#12

مشكور أخ صلاح ونحن بإنتظار الدرس

#13

مشكور

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…