APEX কি এবং আমি কেন সফটওয়্যার ডেভেলপমেন্ট-এ APEX ব্যাবহার করব?

What is APEX (Oracle Application Express)?

আপনি যদি পূর্বে ওরাকল ডাটাবেজ ব্যাবহার করে থাকেন তাহলে আপনি নিশ্চয় APEX এর নাম শুনে থাকবেন। APEX হল ওরাকল ডাটাবেজ ব্যাবহার করে দ্রুত ওয়েব এপ্লিকেশন ডেভেলপ করার একটি ফ্রেমওয়ার্ক। Continue reading APEX কি এবং আমি কেন সফটওয়্যার ডেভেলপমেন্ট-এ APEX ব্যাবহার করব?

Enable network service (ACL) and Send mail from APEX

Enabling Network Service: By default, the ability to interact with network services is disabled in Oracle Database 11g. Therefore, you must use the BMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_040200 database user:

DECLARE
  ACL_PATH VARCHAR2(4000);
BEGIN
    -- Look for the ACL currently assigned to '*' and give APEX_040200
    -- the "connect" privilege if APEX_040200
    -- does not have the privilege yet.
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
    WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE (ACL_PATH,'APEX_040200','connect') IS NULL THEN
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,'APEX_040200', TRUE, 'connect');
  END IF;
  EXCEPTION
    -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_040200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

Send Mail: Oracle application express send mail using APEX_MAIL package. example…

APEX_MAIL.SEND(
        p_to        => 'email@gmail.com',
        p_from      => 'email2@oracle.com',
        p_subj      => 'APEX_MAIL with attachment',
        p_body      => 'Please review the attachment.',
        p_body_html => '<b>Please</b> review the attachment');
/

Send mail with attachments…

DECLARE
    l_id Number;
    x varchar2(100);
    y BLOB;
    z varchar2(100);
BEGIN
    l_id := APEX_MAIL.SEND(
        p_to        => 'email@gmail.com',
        p_from      => 'email2@oracle.com',
        p_subj      => 'APEX_MAIL with attachment',
        p_body      => 'Please review the attachment.',
        p_body_html => '<b>Please</b> review the attachment');

    SELECT FILENAME, IMAGE, MIMETYPE into x, y, z
        FROM CUSTOMER
        WHERE CUSTOMER_ID = 100;

        APEX_MAIL.ADD_ATTACHMENT(
            p_mail_id    => l_id,
            p_attachment => y,   -- BLOB column name
            p_filename   => x,   -- File Name 
            p_mime_type  => z);  -- MIME column name
END;
/

 

How to Install APEX with Oracle 11g

আসসালামু আলাইকুম। বন্ধুরা আজকে আমি দেখাবো কিভাবে Oracle Database 11g এর সাথে Oracle APEX ইন্সটল করবেন। মনে রাখবেন APEX ইন্সটল করতে হলে আপনার ডাটাবেজ ভার্সন 11g বা তার উপরে হতে হবে। প্রথমেই এই লিঙ্ক থেকে APEX এর সর্বশেষ ভার্সনটি ডাউনলোড করে নিন। আমি নতুন টেবিলস্পেসে APEX ইন্সটল করে দেখাব, আপনি চাইলে ডাটাবেজের ডিফল্ট টেবিলস্পেসও (SYSAUX) ইন্সটল দিতে পারেন। তাহলে চলুন শুরু করা যাক।

  • ডাউনলোড করা জিপ ফাইলটি আনজিপ করে আপনার লোকাল ড্রাইভে রাখুন।
  • Connect sys as sysdba from your SQL*Plus.
  • Now create a tablespace for APEX, for example-
CREATE TABLESPACE APEX
DATAFILE 'C:oradataorclAPEX_0425.dbf' SIZE 300M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
  • Create a temporary tablespace,  for example-
CREATE TEMPORARY TABLESPACE TEMP_02
TEMPFILE 'C:oradataorclTEMP_0425.dbf' SIZE 100M;
  • এবার কমান্ড প্রম্পট থেকে APEX Directory তে প্রবেশ করুন। এবং এখান থেকে SQL*Plus এ কানেক্ট করুন।

কমান্ড প্রম্পট (CMD) থেকে APEX Directory তে প্রবেশ করার জন্য  CD C:apex লিখুন ,
এবং এসকিউএলে প্রবেশ এর জন্য APEX ডিরেক্টরি থেকে sqlplus লিখে এন্টার দিন।

  • Connect sys as sysdba from apex directory.
  • Run following script and wait 20+ minutes.
     @apexins.sql APEX APEX TEMP_02 /i/
  • Again Connect sys as sysdba from APEX and run the following script
    @apex_epg_config.sql C:
    @apxldimg.sql C:
  • Unlock following user
ALTER USER ANONYMOUS ACCOUNT UNLOCK;
ALTER USER ANONYMOUS IDENTIFIED BY 123;
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY 123
  • Set APEX connection port
    EXECUTE DBMS_XDB.sethttpport(8080);
  • Confirm your port-
    SELECT DBMS_XDB.gethttpport FROM DUAL;
  • Create administration service –
    @apxchpwd
    Password must contain one uppercase, one lowercase, special character and
    Length minimum 8 character.

 app1

এখানে আপনাকে নতুন পাসওয়ার্ড দিতে বলবে। আপনার পছন্দমত পাসওয়ার্ড দিন। পাসওয়ার্ড অবশ্যই আপার কেস, লোয়ার কেস এবং নিউমেরিক মিলিয়ে দিতে হবে। সফলভাবে পাসওয়ার্ড দেয়া হলে http://127.0.0.1:8080/apex URL টি  আপনার ব্রাওজার দিয়ে ওপেন করুন। ওয়ার্কস্পেস এর নাম দিন internal ও ইউজারনেম দিন admin আথবা আপনার দেওয়া ইউজারনেম এবং আপনার দেওয়া পাসওয়ার্ড দিয়ে কানেক্ট করুন। Admin workspace এ ঢুকে প্রথমেই একটি ওয়ার্কস্পেস ও একটি ইউজার তৈরি করে নিন। এবার আপনার তৈরি করা ওয়ার্কস্পেস এ কানেক্ট করে শুরু করে দিন অ্যাপ্লিকেশান ডেভেলপমেন্ট ………… Happy Apexing!

 

Oracle Application Express (APEX) Tutorial

This series of videos shows how to use Oracle APEX to build a database and quickly create a working prototype application. This series is based on APEX version 4.2.4.  This video tutorial made by New Mexico State University, USA.

Course Coverage:
01. Getting started with Oracle XE and APEX
02. Overview of Oracle APEX
03. Use SQL workshop to create tables from SQL scrips
04. Create trigger and isert data into table
05. Create a table using object browser and define a constrait
06. Use SQL workshop utilites to import data from a CSV file
07. Create an application using application builder
08. Create a simple form and Report with apllication builder
09. User interface defaults, See why they are impottant
10. Forms and Reports on a table
11. Create a list of values (LOV) and use it in a form
12. Show a field in a form that APEX set to “hidden”
13. Create a master details form
14. Add a region and add a button to a page
15. Using LOVs in a form or report
16. Create a view in APEX
17. Create a classic report in APEX
18. Create a interactive report based on a view
19. Create a master form with two detail sections
20. Add a hyperlink to master-details report
21. Fix a problem passing a primary key value to the next page
22. Finising the prototype application
23. Master-details: A more user friendly master detail form for data entry
24. See a schematic diagram of the application’s database

Source File for Practice