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

خطأ في الاتصال بين الجافا والأوراكل

مغلق
بدأه sharkia في 15 ديسمبر 2006 · 5 رد · 732 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته..

اقوم حاليا بعمل ربط الجافا بالأوراكل..

وقمت بكتابة البرنامج التالى

/*
 * DataInserter.java
 *
 * Created on 15 ديسمبر, 2006, 09:22 م

import  java.sql.*;
import sun.jdbc.odbc.JdbcOdbcDriver;
import java.awt.*;
import java.awt.event.*;
public class DataInserter extends java.awt.Frame {
	static String jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver";
	static String dbName="Mydatabase";

	static String urlroot="jdbc:odbc:";

	public DataInserter() {
		registerDriver();
	//	initComponents();
	}
	public void setDataBaseName(String dbName)
	{
		this.dbName=dbName;

	}

	public void registerDriver(){

		try{
			Class.forName(jdbcDriver);
			DriverManager.registerDriver(new JdbcOdbcDriver());
			}
		catch(ClassNotFoundException e){
			System.err.println(e.getMessage());
				}
				catch(SQLException e){
			System.err.println(e.getMessage());
				}
	}

	public void execute(String SQLCommand){
		String url=urlroot+dbName;
		try{
			Connection con = DriverManager.getConnection(url);
			Statement stmt=con.createStatement();
			stmt.execute(SQLCommand);
			con.close();

	}
		catch(SQLException e){
			System.err.println(e.getMessage());
		}
	}


	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
	private void initComponents() {

		addWindowListener(new java.awt.event.WindowAdapter() {
			public void windowClosing(java.awt.event.WindowEvent evt) {
				exitForm(evt);
			}
		});

		pack();
	}

	/** Exit the Application */
	private void exitForm(java.awt.event.WindowEvent evt) {
		System.exit(0);
	}

	/**
	 * @param args the command line arguments
	 */
	public static void main(String args[]) {
	  DataInserter inserter=new DataInserter();
	  String SQLCommand="INSERT INTO DEPT" + "(DEPTNO,DNAME,LOC)"+"VALUES"+"('5','ELECTRONICS','EGYPT');";
	  inserter.execute(SQLCommand);

	}


	// Variables declaration - do not modify
	// End of variables declaration

}

ولكن فى النهاية يخرج لى هذه الرسالة

[microsoft][odbcDriver Manager]

Data Source name not found and no default driver specified

ارجو المساعدة لفهم سبب هذة الرسالة؟؟

وجزااكم الله كل خير

#2

يجب ان تحدد قاعدة البانات في System DSN او User DSN

منقطع من حين لاخر

#3

أخى الكريم..

أرجو المعذرة..ولكن هل يمكنك التوضيح ...ماذا أضيف للكود لتحديد الـ system dsnوالـ user dsn؟؟؟

#4

انت تستخدم DBC-ODBC Bridge driver لذلك يجب تسجيل قاعدة البيانات فب ODBC لنظام التشغيل

لعمل ذلك في ويندوز اذهب للوحة التحكم من ثم Administrative tools ثم ODBC

حسب موقع شركة Sun فانه لا يحبذ القيام بهذه العملية الا في حالات التجربة

و ينصح باستخدام الـ Driver ألخاص بقواعد بيانات اوراكل

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

منقطع من حين لاخر

#5
ابو الفؤاد كتب:

حسب موقع شركة Sun فانه لا يحبذ القيام بهذه العملية الا في حالات التجربة

و ينصح باستخدام الـ Driver ألخاص بقواعد بيانات اوراكل

بالفعل صن لاتحبذ هذا الدرايفر والسبب أولاً لأنه obdc يعتمد على الويندوز

والسبب الثاني أنه يلزم تعريف data source عند كل الclients

والسبب الثالث أنك في هذه الحاله لاتستفيد من مزايا الjdbc الموجوده والتي تساعدك على التعامل مع الdb بشكل أفضل

#6

السلام عليكم..

جزاكم الله كل خير على المساعدة..

ولكننى اعمل حاليا على مشروع data base لمحل..

ولمحاولة الربط بين الـ java و oracle 8i

تظهر لى الرسالة السابقة..

فأرجو التوضيح..من أين يمكننى ايجاد ا الـ driver ؟؟

تحيتى وجزاكم الله كل خير

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

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