BW’ya MS SQL Bağlantısı Oluşturma

Her şirketin belirli platformlarda verileri vardır. Diyelim ki perakende sektöründesiniz. SAP ve POS kasalardan yapılan satışlarınız var. SAP satışlarınız adı üzerinde sap sistem üzerinden bw ya gelmektedir. POS kasalardan yapılan pos satışlarınız da merkez sunucudaki veri tabanınızda tutulur. Veri tabanınız oracle, mysql, ms sql, db2 veya teradata olabilir.

 

Merkez sunucusundaki veritabanı yönetim sistemi programı MS SQL olanlar için veritabanınızdaki verileri bw ya aktarmak için bw da bağlantı yaratmanız lazım. RSA1 deki kaynak sistemlere tıkladığınızda bwya yapabileceğiniz köprü niyetindeki kaynak çeşitlerini görürsünüz : BW, SAP (R3-ECC de denir) , BO Data Services, File (csv, excel..), Web Service ve DB Connect

 

DB Connect ile MS SQL sunucunuza nasıl bağlantı yapacağınızı buradaki makalede görebilirsiniz 🙂 yazılmışı varken bir daha yazmanın bir anlamı olmayacağını düşündüm.

 

 

HTMLUNIT İLE UFAK PÜRÜZLERİ GİDERME

     HtmlUnit ile sitelerden verileri çekerken karşılaştığım bazı sorunları ve çözümlerini buraya yazıyorum ki benim gibi can çekişenler veya Türkçe kaynak bulmada sıkıntı yaşayanlara kolaylık olsun 😀  Oluşturduğumuz senaryoya göre htmlunit 2.12 veya daha eski sürümleriyle sitelerden veri çekmeniz diğer bir deyimle Crawler etmeniz lazım.

Sorun 1 – webClient oluşturdunuz ve url i çekerken uzun sürdüğünü gördünüz. Öncelikle sorun url de mi yoksa tüm linkleri mi çekemiyor diye kontrol edip url leri değiştirerek htmlPage e çekme sürelerini karşılaştırın. Bir sitede en fazla 3 dakika diğerinde 33 dakika (ki şaka değil, tasdiklendi onaylandı) sürüyorsa anlayın ki o uzun süren sitede sorun var. Websitesini çekerken webClient.getPage(url) de execution time uzuyorsa ağdan kaynaklı bir sorundur. Debug esnasında webClient.getPage(url) satırındayken ağı değiştirirseniz hemen alt satıra geçecektir.

Sorun 2 – Siteden verileri çekerken div altındaki text i mesela saati görmüyorsa javascript i BaseCrawler ya da yazdığınız class da engellemişsinizdir. Çoğu site saat , tarih gibi verileri javascript ile getirmekte. Bunu da  webClient.setJavaScriptEnabled(false);  satırını true olarak düzeltmelisiniz. Ayrıca css i de kapattıysanız webClient.setCssEnabled(false) ise onu da true olarak değiştirmeyi unutmayın.