الانتقال إلى المحتوى

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


sakr_orcl

Recommended Posts

الإخوة العزاء/
عند عمل 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

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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