AZEROUG qrupunun 14 Sentyabr görüşü baş tutdu.

Posted on 16 Sentyabr 2013. Filed under: Java, JDBC, Oracle, PL/SQL, SQL | Etiketlər: , , , , , |

14 Sentyabr 2013 tarixində AZEROUG qrupunun növbəti görüşü Azercell Plazada baş tutdu. Təxmini 60 nəfər iştirakçı var idi.

Təşkilati dəstəyə görə Azercell Barama İnnovasiya mərkəzinə təşəkkürümü bildirirəm.

Bu görüşdə Oracle PL/SQL proqramlaşdırma ilə bağlı 2 təqdimat oldu.

Mənim təqdimatım Oracle 12c verilənlər bazasında proqramçılar üçün təqdim edilmiş yeniliklər haqda idi. Təqdimatda SQL, PL/SQL və JDBC ilə bağlı yeniliklər haqda məlumat verdim, VirtualBoxda qurulmuş Oracle 12c bazasında nümunə scriptlər göstərdim.

Təqdimatı buradan yükləyə bilərsiniz.

Görüşdən bəzi şəkillərə baxa bilərsiniz.

Advertisements
Tam Yazını Oxu | Make a Comment ( None so far )

XSL ilə SQL əmrlərinin generasiyası

Posted on 11 Avqust 2010. Filed under: OES, SQL | Etiketlər: , , , , , , |

Oracle Errors&Solutions proyekti ilə əlaqədar bütün Oracle versiyaları üçün olan xəta kodlarını və onlar haqqında məlumatı Oracle bazasına yazmaq lazım idi. Oracle xətaları XML faylında aşağıdakı kimi mövcuddur. Oracle 11g R2 VBİS üçün 12033 ədəd xəta kodu var, aşağıdakı nümunədə sadəcə 5 xəta kodu göstərilmişdir

<?xml version="1.0" encoding="UTF-8"?>
<error-list>
	<error id="ORA-00000">
		<code>ORA-00000: normal, successful completion</code>
		<cause>Normal exit.</cause>
		<action>None</action>
	</error>
	<error id="ORA-00001">
		<code>ORA-00001: unique constraint (string.string) violated</code>
		<cause>An UPDATE or INSERT statement attempted to insert a duplicate key. For Trusted Oracle configured in DBMS MAC mode, you may see this message if a duplicate entry exists at a different level.</cause>
		<action>Either remove the unique restriction or do not insert the key.</action>
	</error>
	<error id="ORA-00017">
		<code>ORA-00017: session requested to set trace event</code>
		<cause>The current session was requested to set a trace event by another session.</cause>
		<action>This is used internally; no action is required.</action>
	</error>
	<error id="ORA-00018">
		<code>ORA-00018: maximum number of sessions exceeded</code>
		<cause>All session state objects are in use.</cause>
		<action>Increase the value of the SESSIONS initialization parameter.</action>
	</error>
	<error id="ORA-00019">
		<code>ORA-00019: maximum number of session licenses exceeded</code>
		<cause>All licenses are in use.</cause>
		<action>Increase the value of the LICENSE MAX SESSIONS initialization parameter.</action>
	</error>
</error-list>

Bu XML faylındakı məlumatları Oracle bazasına köçürmək lazım idi. Cədvəlin strukturu aşağıdakı kimidir.

CREATE TABLE OES_11GR2_ERRORS
(
  ID      NUMBER PRIMARY KEY,
  CODE    VARCHAR2(10 CHAR),
  ERROR   VARCHAR2(1000 CHAR),
  CAUSE   VARCHAR2(1500 CHAR),
  ACTION  VARCHAR2(1500 CHAR)
);

İD sütunu primary key olduğuna görə onun qiymətlərini avtomatik generasiya etmək üçün aşağıdakı sequence obyekti istifadə etdim.

CREATE SEQUENCE OES_SEQ
START WITH 1
MINVALUE 1;

İndi isə XML faylındakı məlumatların əsasında SQL insert əmrləri hazırlamaq üçün aşağıdakı kimi XSL faylını hazırladım.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="error-list">
    <xsl:for-each select="error">
        <xsl:variable name="code" select="normalize-space(code)"></xsl:variable>
	<xsl:variable name="cause" select="normalize-space(cause)"></xsl:variable>
	<xsl:variable name="action" select="normalize-space(action)"></xsl:variable>
insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{<xsl:value-of select="$code"/>}', q'{<xsl:value-of select="$cause"/>}', q'{<xsl:value-of select="$action"/>}');
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Mətn içərisində olan ‘,”,\,& və s. xüsusi simvolları bazaya düzgün şəkildə daxil etmək üçün onları q'{}’ içərisində yazdım. Bu sayədə xüsusi simvollar düzgün şəkildə escape olundu.

Transformer proqramı ilə XML faylına XSL faylındakı çevrilmə qaydalarını tətbiq edərək aşağıdakı kimi SQL insert kodları generasiya etdim.

insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{ORA-00000: normal, successful completion}', q'{Normal exit.}', q'{None}');

insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{ORA-00001: unique constraint ( string string ) violated}', q'{An UPDATE or INSERT statement attempted to insert a duplicate key. For Trusted Oracle configured in DBMS MAC mode, you may see this message if a duplicate entry exists at a different level.}', q'{Either remove the unique restriction or do not insert the key.}');

insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{ORA-00017: session requested to set trace event}', q'{The current session was requested to set a trace event by another session.}', q'{This is used internally; no action is required.}');

insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{ORA-00018: maximum number of sessions exceeded}', q'{All session state objects are in use.}', q'{Increase the value of the SESSIONS initialization parameter.}');

insert into OES_11GR2_ERRORS(id, error, cause, action) values(oes_seq.nextval, q'{ORA-00019: maximum number of session licenses exceeded}', q'{All licenses are in use.}', q'{Increase the value of the LICENSE MAX SESSIONS initialization parameter.}');

Transformer proqramı haqqında bu yazıda qeyd etmişəm.
Cədvəldəki CODE sütununun qiymətini ERROR sütünundan ilk 9 simvolu(ORA-XXXXX) götürməklə aşağıdakı kimi əldə etmək mümkündür.

update oes_11gr2_errors set code=substr(error, 1, 9);
commit;

Ümid edirəm ki, bu yazı kimin üçünsə faydalı olar 🙂

Tam Yazını Oxu | Make a Comment ( None so far )

Video dərslər

Posted on 31 Mart 2010. Filed under: Java, Java web texnologiyaları, Oracle, PL/SQL, SQL, Video dərslər | Etiketlər: , , , , , , , , , , , , , |

Java və Oracle proqramlaşdırmaya aid video dərslər hazırlamaq barədə fikirləşirəm. Çünki yazılı material hazırlamaq çox vaxt aparır(ya da mən tənbəlləşmişəm:D). Video dərs ilə vizual olaraq başa salmaq və kod yazaraq praktiki şəkildə göstərmək daha rahatdır.

Hələlik fikirləşdiyim mövzular aşağıdakılardır:

Java üzrə mövzular:
1.Java ilə obyekt yönlü proqramlaşdırmanın əsasları (bu mövzu üzrə 2 video dərs var)
2.JDBC ilə Oracle verilənlər bazasının istifadəsi
3.Java Servlet və JSP ilə web proqramlaşdırma
4.Spring framework və Spring MVC
5.Java Server Faces(JSF) ilə web proqramlaşdırma
6.Java web proyektlərində təhlükəsizlik məsələləri
7.Java mobil proqramlaşdırma
8.SCJP 6 CX-310-065 imtahanına hazırlıq

Oracle üzrə mövzular:
1.Oracle SQL-ə giriş
2.Oracle PL/SQL-ə giriş
3.Advanced Oracle SQL
4.Advanced Oracle PL/SQL
5.PL/SQL performance tuning və optimization

Hansı mövzular daha maraqlıdı və tələbat var?
Zəhmət olmasa, təkliflərinizi şərh olaraq yazın, müzakirə edək.

Tam Yazını Oxu | Make a Comment ( 34 so far )

    Haqqında

    Java ilə obyekt yönlü proqramlaşdırma, Java web proqramlaşdırma, Oracle SQL, PL/SQL proqramlaşdırma, optimallaşdırma

    RSS

    Subscribe Via RSS

    • Subscribe with Bloglines
    • Add your feed to Newsburst from CNET News.com
    • Subscribe in Google Reader
    • Add to My Yahoo!
    • Subscribe in NewsGator Online
    • The latest comments to all posts in RSS

    Meta

Liked it here?
Why not try sites on the blogroll...