Kayıtlar

2015 tarihine ait yayınlar gösteriliyor

Natural Key ve Surrogate Key Nedir?

Resim
Bir tablodaki Primary Key olacak alanı seçmek database performansı için gerçekten önemlidir. Primary Key; her tabloda en fazla 1 adet bulunur, null değer alamaz, unique (tekil) değerler alır, verileri değiştirilemez. Primary key içerdiği verilere göre Natural veya Surrogate key olur. Natural Key Tablo ile mantıksal olarak ilişkilidir.İçerdiği veri, tablonun diğer sütunlarındaki veriler ile ilişkilidir. Tekil değerler içerir. Natural key, dış dünyadaki gerçek verileri temsil eder. Örneğin; TC kimlik numarası, bir kitabın ISBN numarası, bir ürünün ismi gibi... Surrogate Key Surrogate key içeren veriler tablo için mantıklı herhangi bir anlama sahip değildirler. Surrogate key'ler, veritabanı yönetim sistemleri tarafından üretilirler. (Oracle, sequence'leri kullanır; Sql server, identity column özelliğini kullanır; MySql auto_increment özelliğini kullanır.) Genel olarak kayıt eklenmeden önce üretilirler ve çoğu zaman numeric tiptedirler. Tekil değerler içerir. Natural Key vs. S

[Microsoft][ODBC Excel Driver] Syntax error (missing operator) in query expression 'case when ...', Odbc driver returned an error (SQLExecDirectW).

Resim
OBIEE 11g'de Excel'den çektiğimiz veriler ile http://localhost:7001/analytics sayfasında yeni bir analiz oluşturmak istediğimizde bu hata ile karşılaşabiliriz. Bu hata, analize eklenen bir sütun üzerindeyken Edit Formula ekranına case when ifadesi yazdığımızda ortaya çıkar. (Genellikle iç içe case ifadeleri varsa ve bu ifadeler numeric değilse ortaya çıkar.) Bunun nedeni Excel'in Case ifadelerini desteklemiyor olmasıdır. Hatanın ayrıntılı hali: Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 16001] ODBC error state: 37000 code: -3100 message: [Microsoft][ODBC Excel Driver] Syntax error (missing operator) in query expression 'CASE WHEN PRODUCT."NAME"='Bag' THEN 1 ..' [nQSError: 16014] SQL statement preparation failed. (HY000) SQL Issued: SELECT Product.Name saw_0, CASE WHEN PRODUCT."NAME"='Bag' THEN 1 ... E

OBIEE'de Excel Dosyasını Import Etme

Resim
Bu yazımda OBIEE Administration Tool'da Excel dosyasını veri kaynağı olarak kullanmayı anlatacağım. Bunun için aşağıdaki adımlar sırasıyla gerçekleştirilir: İlk önce veri kaynağı olarak eklemek istediğimiz Excel dosyası açılır. Ekleyeceğimiz veriler Excel'in Aralığı Adlandır özelliğiyle isimlendirilir.   Denetim Masası->Yönetimsel Araçlar-> Data Sources (ODBC)-> System DSN tabında Add butonuna tıklanır ve veri kaynağı olarak Microsoft Excel Driver seçilir. Veri kaynağı isimlendirilir ve Çalışma Kitabı Seç butonuna tıklanır. Excel dosyası seçilir. OBI Administration Tool açılır ve Physical Layer'da sağ tuş ile yeni bir database eklenir. Connection Pools sekmesine tıklanarak yeni bir bağlantı eklenir. Data Source Name'de eklenen Excel veri kaynağı seçilir. Database ve connection pool oluşturulduktan sonra Physical Layer'da connection pool üzerinde sağ tuş Import Metadata'ya tıklanır. Gelen ekranda Excel veri kaynağı seçilir. Physica

nQSError: 37005 Transnational Update Failed Hatası

Çözümü gerçekten basit olan fakat OBI'da başlangıç düzeyinde olanlar için görüldüğünde sinir bozan bir hata:) Genellikle OBIEE Administration Tool'da online mode da iken physical layer'a database ekleyip kaydettiğimizde bu hata karşımıza çıkar. Hatanın kaynağı tablo isimleri olabilir. (Benim karşılaştıklarım öyleydi.) C:\Middleware\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1 yolunda bulunan NQServer.log dosyasında "has name with leading or trailing space(s)." adındaki hata bulunur. Bu hataya neden olan database içindeki tablo ve sütun ismi log dosyasında yazılıdır. O sütun ismi düzeltildikten sonra bu hatayla bir daha karşılaşmayız. ( Yani  öyle umuyorum:) ) İyi Çalışmalar