Pazartesi, Eylül 26, 2005

DB2 ve JSP

Geçen sen kasıp yapamadığımı bu sene hallettim. Oracle HTTP sunucusunu DB2'ya bağlanması için ayarlamam gerekiyordu. Şans mı bilmem. Neyse

/opt/oracle/product/9.2.0.2/Apache/Jserv/etc/jserv.properties

dosyasına şunu ekliyoruz

wrapper.classpath=/opt/oracle/product/9.2.0.2/jdbc/lib/db2java.zip
wrapper.classpath=/opt/oracle/product/9.2.0.2/jdbc/lib/db2jcc.jar

sonra apachectl graceful diyerek yeniden başlatıyoruz web sunucusunu.

Daha sonra aşağıdaki uyarıya göre db2jstrt komutuyla dinleyici çalıştırıyoruz.


The DB2 UDB JDBC Applet Server is started with the command: db2jstrt <port number>

When a port number is not provided, the default value of 6789 is used. Note that this is the port number you need to specify in the URL of the JDBC program, NOT the DB2 instance port number.

Every time the db2jstrt command is executed, a db2jd process is created.

DB2 için kullanacağımız bağlantı katarı şu şekilde test edilebilir


<%@page import="java.sql.*"%>

<% // Define the connection Connection con = null; // Check that the DB2Driver class is available System.getProperty("java.library.path"); Class.forName("COM.ibm.db2.jdbc.net.DB2Driver"); try { // DB2 veritabanına bağlanma denemesi DriverManager.registerDriver (new COM.ibm.db2.jdbc.net.DB2Driver()); out.println("Test başlıyor... "); con = DriverManager.getConnection("jdbc:db2://localhost:6789/user","user","passwd"); out.println("Test başarıyla tamamlandı. DB2'ya bağlanıldı. "); } // Hata oluşursa bilelim catch (SQLException e) { out.println(e.getMessage()); } %>

Pazar, Eylül 25, 2005

XML in Oracle Text 9.0

Bu konuda bayağı yol aldık aslında. Özellikle 10g ile indeksi sorgularken çıktıları XML dosya olarak almak daha sonra bu bilgileri süzmek için aşırı kolaylık sağlıyor. Aksi taktirde metin dosyadan istediğiniz bilgiyi toplamak için oku dur.

Oracle Text Örneği

Word, PDF gibi dökümanları BLOB olarak depolamak üzere bir PROCEDURE örneği bu. TYPE ve dizin tanımlamasına, kullanımına dikkat edin. Ancak ilgimi çeken indekslerken filtreleme, doküman tipi bilgisini depolama gereği duymaması. Kendi uygulamalarımda önceden salt metine dönüştürüp CLOB olarak depoluyorum ve indeksliyorum. Bu daha kolay çözüm gerçekten çalışıyorsa hatasız.

Çarşamba, Eylül 14, 2005

Depolanmış sorgular

Depolanamış hazır sorgu cümleleri hazırlama:
begin
ctx_query.remove_sqe('ships');
ctx_query.store_sqe('ships', 'ship OR argosy OR battleship OR containership OR corvette OR flagship OR icebreaker OR ironclad OR lightship OR man-of-war OR submarine OR supertanker OR vessel OR warship');
end;


Kullanımı:
select ... where contains (metin, 'sqe(ships)',1) >0 ;

Komedi

Uzun aradan sonra projeye devam derken Oracle'ın tema fonksiyonu ile başıma gelenler.
:mayflowers:flowering plants:plant kingdom:botany:biology:life sciences:hard sciences:science and technology:

Metnin kendisi gemilerler ilgili ve herneyse Mayflower Resolution'dan bahsedip duruyor yazıda. Neticede toplam 12 kere tekrar edince bizim kısıtlı bilgi depomuz da bunu çicek olarak alıp geliştirdi. E ne yapacağız, kendi depomuzu açacağız. Çok sıkıcı bir iş. Yok büyük küçük harf ayrımı yapacak şekilde oluştaracak mışız yok şöyleymiş. Yapacağız artık.