الاثنين، 17 يوليو 2017

Deinstall Oracle JDeveloper 12C Which Installed Using .Jar


Deinstall Oracle JDeveloper 12C  Which Installed Using .Jar  



 .jar إن شاء الله تم توضيح عملية Deinstall  للــ JDeveloper 12C الذي تم تثبيته بطريقة 

الخطوات بالصور بملف pdf صيغة  ،،، لتحميل الملف


بالتوفيق إن شاء الله

الأربعاء، 14 يونيو 2017

مشكلة اللغة العربية في JDeveloper


هنا نناقش حل مشكلة اللغة العربية للبيانات المسترجعة من قاعدة البيانات وليس حل مشكلة اللغة العربية لـ مكونات الصفحة كإن تكون أزرار أو حقول

لنتبع الخطوات التالية:
  1- نقوم بالدخول إلى شاشة الـ sql  بإتباع التالي start >> run ونكتب الإيعاز
    sqlplus sys as sysdba
  كما في الصورة المبينه أدناه:





  2- بعدها تظهر شاشة sql ، ندخل كلمة المرور       sys as sysdba
  3-  بعدها نكتب الإيعاز التالي :
  shutdown immediate 
    ثم الضغط على مفتاح  enter
  4-  بعدها نكتب الإيعاز
  startup restrict
   5- بعدها نكتب الإيعاز التالي
  ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

  6- بعدها نكتب الإيعاز التالي:
 ALTER DATABASE CHARACTER SET AL32UTF8;
  7- بعدها نكتب الإيعاز التالي:
  shutdown immediate
  8- بعدها نكتب الإيعاز 
   startup
9- وأخيراً إيعاز 
   exit

 لاحظ تسلسل الإيعازات التي ذكرتها في أعلاه بالصورة أدناه :
ملاحظة مهمة *^*^:
يمكن إستخدام أي character set  مناسب بدل من AL32UTF8  كإن يكون AR8MSWIN1256 فيكون الإيعاز كالآتي  :


ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256; 
    و 
ALTER DATABASE CHARACTER SET  AR8MSWIN1256; 

مع الإلتزام بتسلسل الإيعازات الأخرى معها 



الآن قمنا فقط بتغيير الـ character set  لقاعدة البيانات ، بعدها يتم تغيير الـ nls_lange إلى أي لغة نرغب بها عن طريق ضبطها من خلال start>>>run>>>regedit والبحث عن nls_lange  وضبطها لـ AMERICAN_AMERICA.AR8MSWIN1256 
 إن شاء الله تحل المشكلة ،،، 

ولمعرفة قيمة الـ character set لقاعدة البيانات يكون بإستخدام الإيعاز التالي:

SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET';

أو الإيعاز التالي :



SELECT * FROM NLS_DATABASE_PARAMETERS;

الأحد، 2 أبريل 2017

حل رسالة الخطأ : Another user has changed the row with primary key oracle.jbo.Key


حل رسالة الخطأ :
 Another user has changed the row with primary key oracle.jbo.Key
  أو الرسالة : قام مستخدم آخر بتغيير الصف ذى المفتاح الاساسى oracle.jbo.Key

1-   من الـ Entity Object>>Attribute ، عند الحقل الـ  primary key قم بتأشير
     ( كلاً من reresh on insert, refresh on update) كما في الصورة المبينة أدناه



2-   إذا لم تحل المشكلة إذن نقوم تكرار الخطوة أعلاه لكل الـ attributes المتواجدة في Entity Object
:..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::..:..::
  
هل لا زالت المشكلة ؟ إذن نحن بحاجة إلى الحل برمجياً لكتابة (code)
  إذن نعمل  override  على  method (()void lock ) نجدها ضمن class EntityImpl

لتكون بالشكل التالي:

    public void lock() {
        try {
        super.lock();
        }
      catch (RowInconsistentException e)
        {
  refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED | REFRESH_CONTAINEES) ;
   super.lock();
    }

 إن شاء الله تحل هذه المشكلة ..بالتوفيق 

الجمعة، 10 مارس 2017

Arabic (Text & Number) Oracle Report 10g - PDF Format



لحل مشكلة اللغة العربية عند إستدعاء تقرير Report Builder بصيغة PDF   
 من خلال الـ Form  نتبع بعض الخطوات  المبينة بالملف على الرابط أدناه 

لتحميل الملف .... إضغط إضغط هنا

بالتوفيق إن شاء الله 


الأحد، 19 فبراير 2017

Generate QR Code In ADF Application


إن شاء الله في هذه المشاركة سنتعرف على كيفية    Generate QR Code In ADF Application 

سأعمل على تطبيق فكرة QR code  داخل ADF Application  مع شاشة Login  حيث إن صورة QR التي ستعرض على الشاشات الأخرى ستمثل معلومات المستخدم الذي قام بتسجيل دخول 
على سبيل المثال سنأخذ (الإسم الأول ، الإسم الثاني)





1.   نعمل على إنشاء تطبيق جديدApplication   ADF Fusion Web
2.   إنشاء ADF Business Component from table   (للجداول أو الجدول الذي سيتم التعامل معها)
3.   في البداية  نقوم على تضمين المكتبات المطلوبة للـQR   وهي 
qrgen-1.0
zxing-core-1.7
zxing-j2se-1.7

 من خلال right click  على إسم المشروع بعدها Project Properties بعدها نختار Labraries and Classpath وبالضغط على 

  ADD JAR/Labraries ويتم إضافة 

كما مبين في الصورة أدناه: 


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


5.   عمل شاشةLogin   تم التطرق لها على هذا الرابط

  http://ascensionmyblog.blogspot.com/2016/08/login-skin-adf.html

الآن لتكوين وإنشاء الـ QR  لمعلومات المستخدم الذي قام بتسجيل دخول إذن نقوم بإنشاء servlet  وليكن إسمها ServletQR 
ونعمل على نسخ الكود التالي:

import common.UserInfo;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import net.glxn.qrgen.QRCode;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.glxn.qrgen.image.ImageType;

@WebServlet(name = "ServletQR", urlPatterns = { "/servletqr" })
public class ServletQR extends HttpServlet {
 private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
 public void init(ServletConfig config) throws ServletException 
  {
     super.init(config);
    }
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
{
 UserInfo qrInfo = (UserInfo) request.getSession().getAttribute("user");
 //ASIGNAR TEXTO A VARIABLE OUT DE TIPO BYTE
ByteArrayOutputStream out = QRCode.from(qrInfo.getFirstName()+"_"+qrInfo.getLastName()).to(ImageType.PNG).stream(); 
//ASIGNAR TIPO Y TAMAأ‘O DE CONTENIDO A RESPONSE
 response.setContentType("image/png");
 response.setContentLength(out.size());
 //ALMACENA EN VARIABLE OUTSTREAM LA CAPACIDAD DE ALMACENAR DATOS BINARIOS
 OutputStream outStream = response.getOutputStream();
//ALMACENA EN OUTPUTSTREAM EL VALOR DE OUT CONVERTIDO EN ARREGLO DE BYTES
 outStream.write(out.toByteArray());
//MUESTRA EL CUERPO DE OUTSTREAM
 outStream.flush();
 outStream.close();
    }
    @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
    {
        processRequest(request, response);
    }
}


لنأخذ لمحة تعريفية بسيطة  حول الكود
7. ما يهمني هنا هو أن أسترجع معلومات المستخدم الذي قام بتسجيل دخول من الـ session  إلىservlet   وهذا يتم من خلال كود السطر التالي حسب الكود أعلاه:
  
 UserInfo qrInfo = (UserInfo) request.getSession().getAttribute("user");


لاحظ طريقة إسترجاع المعلومات التي تم وضعها ب session بهيئة java class  إذن يتم إسترجاعها بمتغير من نوع java class ألا وهو qrInfo

8. الآن أريد تكوين الـ QR  من هذه المعلومات التي إسترجعتها (وهي معلومات المستخدم) وهذا يكون بكود السطر التالي :
ByteArrayOutputStream out = QRCode.from(qrInfo.getFirstName()+"_"+qrInfo.getLastName()).to(ImageType.PNG).stream(); 


9. الآن تكونت لي صورة QR  من الأسم الأول والإسم الثاني للمستخدم ويفصل بينهما ب _  وتم وضع الصورة المتكونة بتعريف متغير من نوع stream  ويمكن أيضاً تعريف متغير من نوع file 
                
أما بقية الكود في الـ servlet هو فقط لقراءة وكتابة الصورة وهو كود standard  متبع عند التعامل مع قراءة وكتابة الصور 
10. الآن نريد أن نعرض الصورة على الصفحة، نعمل على سحب وإفلات image component  ونحدد من الخصائص التابعة للـ Image  خاصية الـ source  لهذه الصورة سيكون هو:
 الـ servlet pattern  أي /servletqr 
كما في الصورة المبينة في أدناه 


لتحميل التطبيق إضغط هنا 

Connection Psotgresql Database in Jdeveloper IDE

السلام عليكم ورحمة الله وبركاته موضوع اليوم هو كيفية عمل Connection  لقاعدة البيانات  Psotgresql داخل  بيئة العمل  Jdeveloper بداي...