الانتقال إلى المحتوى
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.

مشكلة فى عمل SQLJ Run

Featured Replies

بتاريخ:

الإخوة العزاء/
عند عمل Run من JDeveloper يعطى الرسالة التالية:

aiting for profiler UI on port 4776
Profiler UI connected ...
java.lang.NoClassDefFoundError: SingleDefaultContext

Exception in thread main Process exited with exit code 1.


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

برجاء مراجعة الكود التالى ومعرفة سبب المشكلة:

[sql]import sqlj.runtime.*;
import sqlj.runtime.ref.*;

import java.sql.*;

import Oracle.sql.*;
import Oracle.sqlj.runtime.Oracle;
import Oracle.jdbc.driver.*;

public class SingleDefaultContext {
#sql public static iterator LineItemIterator(int  G_ACC_NO,String G_ACC_NAME);
protected static DefaultContext dataiConnCtx;
public SingleDefaultContext()
{
 try
 {
   dataiConnCtx = Oracle.getConnection("jdbc:oracle:thin:@itserver:1521:ORCL",
   "scott","tiger",false);
 }
 catch (SQLException ex)
 {
   System.err.println("Error from dataiConnCtx" + "SingleDefaultContext: " + ex);
   String sqlMessage = ex.getMessage();
   System.err.println("SQL Message: " + sqlMessage);
 }
} //end constracotr

public static void main(String[] args) throws SQLException
{
 SingleDefaultContext app = new SingleDefaultContext();
 if (dataiConnCtx == null)
 {
   System.out.println("I cannot connect to the database - stop execution.");
   System.exit(1);
 }
 try
 {
   app.runSinglrDefaultContext(dataiConnCtx);
   
 }
 catch (SQLException ex)
 {
   System.err.println("Error running runSingleDefaultContext:" + ex);
   String sqlMessage = ex.getMessage();
   Syestem.err.println("SQL Message: " + sqlMessage);
   
 } //end catch
} // end main void runSingleDefaultContext(DefaultContext dataiConnCtx) throws SQLException
{
 DefaultContext.setDefaultContext(dataiConnCtx);
 
 LineItemIterator lineItems = null;
 #sql [dataiConnCtx] lineItems = 
 {
   select G_ACC_NO, G_ACC_NAME
   From g_acc_codes order by G_ACC_NO
 };
 while (lineItems.next())
 {
   System.out.println(" رقم الحساب   "+ lineItems.G_ACC_NO());
   System.out.println("  إسم الحساب :"+ lineItems.G_ACC_NAME());
 }
 lineItems.Close();
}
}

[/sql]

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

اية يا جماعة الخير؟؟
الموضوع صعب قوى؟؟؟

بتاريخ:

باين ان المشكلة عندك هي اخطاء املائية في كتابة الكود .. يرجى مراجعته وبعدها حنشوف اذا فيه حقاً مشاكل .

بالنسبة لرسالة الخطا اللي بتظهر لك علشان تحلها فقط غير حالة الحرف O في كلمة Oracle الى oracle .
اولاً بدل

import Oracle.sqlj.runtime.Oracle;


استخدم

import oracle.sqlj.runtime.Oracle;


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

ثانيا : حتظهر مشكلة تانيه ..
جبت ده منين ؟؟ حاول تفصل اكثر .. مافيش اولاً Method اسمه run وبعدين Singlr اظنها Single ..

try
{
app.runSinglrDefaultContext(dataiConnCtx);

}




ثالثاً : وكمان مشكلة ثالثه الكلاس ده جايبه منين ؟؟ لان فيه كلاس اسمه Iterator ولازم عشان تستخدمه تعمل استيراد لـ java.util.Iterator اما كلاس اسمه LineItemIterator ماسمعتش بيه .

LineItemIterator lineItems = null;

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

شكرا على المشاركة يا اخ احمد
المفروض أن يتم عمل Compile from:
C:>sqlj <path>\SingleDefaultContext.sqlj
أو من خلال JDeveloper
ثالثا:

#sql public static iterator LineItemIterator(int  G_ACC_NO,String G_ACC_NAME);


this code generate class(LineItemIterator) to use it as oracle developer cursor and get data from tables as:

while (lineItems.next())
 {
   System.out.println(" رقم الحساب   "+ lineItems.G_ACC_NO());
   System.out.println("  إسم الحساب :"+ lineItems.G_ACC_NAME());
 }



انا لسة بداية المشوار بتاع SQLJ
والموضوع دا قوى جدا ومش عارف لية مش منتشر

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

تم حل المشكلة من خلال إضافة CLASSPATH التالى الى environment variables فى الويندوز.

G:\OraDev10g\jdbc\lib\classes12.zip;G:\OraDev10g\sqlj\lib\translator.zip;G:\OraDev10g\sqlj\lib\runtime12ee.jar;


:D

بتاريخ:

اوكي .. اخبار طيبة ..

بالتوفيق .

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

شكرا وسوف أعرض بإذن الله المشاكل التى تواجهنى وكيف تم حلها

قدما بإذن الله

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

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

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

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

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

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.