الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ربط جافا مع اوراكل 7

Featured Replies

بتاريخ:

اتمنى من الاخوة الاعزاء مساعدتي
كيف استطيع ربط جافا مع اوراكل داتابيس 7 ؟

وهل لو استخدمت JDeveloper10g هل استطيع الربط او هل انا بحاجة الى برنامج اخر لربطهما؟
وما هو هذا البرنامج واين اجده؟

وما هي class التي تمكنني من تحويل او وضع البيانات المستخرجة من الداتابيس على ملف من نوع اكروبات ريدر (PDF)؟

بتاريخ:

بالنسبة للJDBC Thin ( المستخدم في اكثر الامثلة في مواضيع هذا المنتدى و خصوصاً في الموضوع المثبت
كل ماتحتاجه لربط جافا مع اوراكل ) يمكن استخدام هذا النوع من الDriver للربط مع قواعد بيانات اوراكل نسخة 7.2 والأحدث .
اما اذا كان لديك نسخة اقدم من 7.2 فانت بحاجة الى استخدام JDBC OCI حيث انه يعمل مع نسخة 7 ومافوق .

الفرق بين JDBC Thin و JDBC OCI هو
ان JDBC OCI يحتاج الى الـ Oracle7.3.4 client بما فيها SQL*Net
بعد ذلك يمكنك تطبيق الخطوات في موضوع كل ماتحتاج اليه لربط جافا مع اوراكل لكن مع تغيير بسيط في الConnection
وهو كالتالي

Connection conn = DriverManager.getConnection ("jdbc:oracle:oci7:@mydatabase","scott", "tiger");




القسم الثاني من سؤالك بخصوص ال JDeveloper يمكنك الربط بواسطته لكن مع تطبيق ماسبق ولا تحتاج الى اي برنامج اخر .

القسم الاخير من سؤالك غير واضح والذي بخصوص PDF هل تقصد به تحويل التقارير الى PDF ؟؟
اذا كان هذا ما تقصده فهو يعتمد على برنامج التقارير الذي تستخدم مثل ORACLE REPORTS او CRYSTAL REPORTS
او حتى XML PUBLISHER .
و جميعهم فيه الامكانية الى التحويل الى صيغة PDF

بالتوفيق .

بتاريخ:
  • كاتب الموضوع

المقصود من سؤالي هو اني اريد عمل select لبيانات معينة من الداتابيس
وهذه البيانات اريد ظهورها على ملف (PDF) اي ان يشغل الاكروبات ريدر ويضع النتيجة فيه

لذلك سالت عما اذا كان يوجد CLASS في جافا يعطيني الحل حيث ان احدهم اخبرني بان هناك CLASS اسمها ITEXT تجعلني اضع الناتج في ملف (PDF) او انها تحوله الى ملف (PDF) لست متاكدا

اتمنى الافادة

بتاريخ:
  • كاتب الموضوع

نسيت ان اسالك من اين احصل على JDBC OCI
مع العلم يا اخي اني استخدم داتابيس 7.3.4
فهل في حالة هذه الداتابيس يجب استخدام JDBC OCI او JDBC THIN ؟

بتاريخ:

قبل ماتحول البيانات الى PDF مش ضروري انك تنسق شكل اظهارها ؟؟
لازم تحتاج برنامج تقارير وسيط يمنك من تصميم تقريرك حتى لو كان PDF .

مادام ان عندك 7.3.4 استخدم Thin وطبق نفس الخطوات في الموضوع المثبت الخاص بطريقة الربط مع اوراكل بدون اي تغيير .

بتاريخ:
  • كاتب الموضوع

استخدمت thin ولم تنفع حيث انه يعطيني الخطا التالي
SQLException: ORA-01010: invalid OCI operation

مع العلم بانني كتبتها كالتالي:

conn = DriverManager.getConnection("jdbc:oracle:oci7:@1270.0.1:1521:orcl7","scott","tiger");

فهل تسمح بان تدلني من اين احصل على JDBC OCI لانني لم استخدمه من قبل؟

بتاريخ:

اولاً ياسيد ANK انت لم تستخدم thin وانما استخدمت OCI وهو واضح في الخطأ وواضح في الكود الذي استخدمته بالاعلى .
ثانياً .. لديك مشكلة في كتابة رقم الجهاز المفروض يكون 127.0.0.1 ثم تكتب الSID الخاصة بك من اين اتيت بـ orcl7 ??
ثالثها وضحت لك اذا كنت تريد استخدام oci ان JDBC OCI يحتاج الى الـ Oracle7.3.4 client بما فيها SQL*Net
رابعاً : قلت لك انك لا تحتاج الى oci بل يكفيك thin والذي هو مستخدم في الموضوع الخاص بكل ماتحتاج لربط اوراكل بجافا .

بتاريخ:
  • كاتب الموضوع

اولا انا استخدمت thin في الكود والموجود في الكود خطا مطبعي

ثانيا ليس لدي مشكلة في كتابة رقم الجهاز المفروض حيث انني وضعته هكذا حتى اوضح بانه IP الخاص بالجهاز الذي توجد عليه الداتابيس اما بالنسبة لل SID فهي كما كتبتها لانني عندما انزلت الداتابيس اسميتها orcl7

ثالثا قلت لك بانني استخدمت thin ولم تنفع والخطا ظهر لي ايضا كالتالي :

SQLException: ORA-01010: invalid OCI operation
<BR>

فارجو المساعدة وطول البال مع العلم ان صفحة JSP التي كتبت الكود بها موجوده على جهازي وقد كتبت في URL التالي:
HTTP://127.0.0.1:8089/TEST.JSP
وهنا اقصد ب 127.0.0.1 رقم جهازي انا فعليا لان صفحة JSP عليه

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

بتاريخ:

اسف لكن الخطأ يؤكد انك مازلت تستخدم OCI
SQLException: ORA-01010: invalid OCI operation

بتاريخ:
  • كاتب الموضوع

Hello,

I'm using J2SE 5 and Tomcat 5 and Oracle Database 7 and TextPad as an editor.
I want to connect to this database but I can't and I don't know, the code that I use it is :


import java.sql.*;
import oracle.jdbc.driver.*;

public class Class1 {
private Connection conn ;
private Statement stmt;
private ResultSet rs;
private ResultSetMetaData rsmd;
public Class1() {
try{
conn = getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM DEPT");
rsmd = rs.getMetaData();
while (rs.next()){
for ( int i = 1 ; i < rsmd.getColumnCount() ; i++){
System.out.print(rs.getObject(i) + "\t");
}
System.out.println("");
}
}catch( SQLException e){
System.out.println(e);
}
}
private Connection getConnection() throws SQLException {
String username = "scott";
String password = "tiger";
String thinConn = "jdbc:oracle:thin:@139.141.187.11:1521:sisu";
DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(thinConn,username,password);
conn.setAutoCommit(false);
return conn;
}
public static void main(String[] args){
Class1 class1 = new Class1();
}

}


when i use (thin) in the variable (thinConn), it gives me this error:
java.sql.SQLException: ORA-01010: invalid OCI operation
Press any key to continue . . .

and when i use (oci7) in the variable (thinConn), it gives me this error:
java.sql.SQLException: Invalid Oracle URL specified
Press any key to continue . . .

so whats the problem with my code? or is there any software that i have to use it to fix my problem?

please,help me , it's urgent !!!!!!!!!

بتاريخ:

للاسف ماعندي نفس نسخة قاعدة البيانات اللي عندك لاجري عليها تجارب لكن هناك فكرة
اذا كنت تستخدم ojdbc14 او classes12.jar عندما ظهرت لك تلك المشكلة
حاول الان باستخدام الدرايفر classes111.jar و سيعمل بإذن الله
كل ماعليك فعله هو مسح الاول من اماكنه المتواجد فيها واستبداله بـ classes111.jar

ستجد المكتبة classes111.jar مع نسخة قواعد البيانات القديمة مثل 8 وربما 8i ايضاً .

بتاريخ:
  • كاتب الموضوع

اريد ان اكتب الكود السابق في صفحة servlet ولا ادري كيف حيث انني اريد استدعاء الصفحة من خلال intenet explorer
ولا اعرف اين اضع صفحة servlet واتوقع انني يجب ان استخدم J2EE وليس J2SE
فاتمنى الافاده

بتاريخ:

هل تم حل مشكلتك الاولى لنفكر في مشكلتك الثانية ؟!

الرجاء عدم طرح اكثر من مشكلة في نفس الوقت والقفز بينها حتى لا يتشتت القاريء .

بتاريخ:
  • كاتب الموضوع

نعم ولك جزيل الشكر

بتاريخ:

هذا هو برنامجك بنكهة Servlet

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import oracle.jdbc.driver.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Class1 extends HttpServlet {
   private static final String CONTENT_TYPE = "text/html; charset=windows-1256";
   private Connection conn;
   private Statement stmt;
   private ResultSet rs;
   private ResultSetMetaData rsmd;

   public void init(ServletConfig config) throws ServletException {
       super.init(config);
   }

   public void doGet(HttpServletRequest request,
                     HttpServletResponse response) throws ServletException,
                                                                                      IOException {
       response.setContentType(CONTENT_TYPE);
       PrintWriter out = response.getWriter();
       out.println("<html>");
       out.println("<head><title>Class1</title></head>");
       out.println("<body>");

       try{
       conn = getConnection();
       stmt = conn.createStatement();
       rs = stmt.executeQuery("SELECT * FROM DEPT");
       rsmd = rs.getMetaData();

       while (rs.next()){
       for ( int i = 1; i < rsmd.getColumnCount(); i++){
       out.println("<p><h3>" + rs.getObject(i) + "</h3></p>");
       }
       System.out.println("");
       }
       }catch( SQLException e){
       System.out.println(e);
       }
       out.println("</body></html>");
       out.close();

   }
   private Connection getConnection() throws SQLException {
   String username = "scott";
   String password = "tiger";
   String thinConn = "jdbc:oracle:thin:@139.141.187.11:1521:sisu";
   DriverManager.registerDriver(new OracleDriver());
   Connection conn = DriverManager.getConnection(thinConn,username,password);
   conn.setAutoCommit(false);
   return conn;
   }
}
}



بالنسبة الى تشغيله عليك مراجعة موضوع مثبت بعنوان .. اين اضع ملفاتي .
بالتوفيق .

بتاريخ:
  • كاتب الموضوع

لقد طبقت ما هو موجود في الموضوع المثبت (اين اضع ملفاتي) ولكنه اعطاني الخطا التالي سواء لملفات jsp او servlet

HTTP Status 404 - /java_first/index2.jsp

--------------------------------------------------------------------------------

type Status report

message /java_first/index2.jsp

description The requested resource (/java_first/index2.jsp) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17

بتاريخ:

انته منين جبت الملف index2.jsp ؟!!
المفروض بعد ماتعمل Compiling للملف Class1.java واللي هو الServlet
يطلع معاك ملف class1.class اللي لازم تحطه في المجلد classes

حاول ان تقرأ المقال بتمعن اكثر .

بتاريخ:
  • كاتب الموضوع

لقد قراتها بتمعن
ولكن يجب عليك انت ان تقرا ما هو مكتوب في المشاركة رقم 16 بتمعن اكثر
لانني ذكرت لك بانه اعطاني الخطا التالي سواء لملفات jsp او servlet
والخطا الذي ذكرته هو لملفات jsp فقط
وبديهيا يجب ان يفهم من كلامي المكتوب في المشاركة رقم 16 بانني عندما استدعيت servlet ظهر لي الخطا ذاته ولكن مع اختلاف بسيط في url وهو http://localhost:8089/java_first/servlet/Servlet1
ولكني لم اضع الخطأين في المشاركة رقم 16 فقط اختصارا للوقت لانني توقعت ان تفهم انت علي من استخدامي للجملة التالية:
اعطاني الخطا التالي سواء لملفات jsp او servlet

يا ريت يكون مشرف المنتدى على قدر المسؤولية وما يحاول يستهزئ بالاعضاء لانني قرات الذي كتبته بتمعن

بتاريخ:

اسف .. و اعتذر عن سوء فهمي لك و لما كتبت .. ولم اقصد الاستهزاء بك ولا اظن في طلبي منك اعادة القراءة بتمعن استهزاءً بك .

لكن عندما تطلب مني تحويل الكود الى Servlet واعطيك الكود له
كيف لي ان افهم ان مشكلتك هي في ملف JSP اخر لا علاقة للموضوع الحالي به بالاضافة ان التومكات يخبرك انه لا وجود للملف اصلاً باعطائك الخطأ 404 والموضوع اصلاً عن ربط الجافا مع اوراكل 7

على العموم حاولت مساعدتك قدر استطاعتي .. ورضى الناس غاية لا تدرك

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

بتاريخ:
  • كاتب الموضوع

اشكرك
يا اخ احمد الجابري على مساعدتك الكبيرة لي وانا اعترف بها
ولا اريد ان تتضايق مني
ويبدو انني يجب ان افتح موضوع خاص بالنقطة الاخيرة التي وصلنا لها وهي المشكلة التي ظهرت لي اخيرا

ولقد صدقت فعلا بان رضى الناس غاية لا تدرك
ولك كامل احترامي وتقديري

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.