Geri yazma kullanıcıların analizlerden verileri güncellemelerini sağlar.
Konular:
Geri yazma, kullanıcıların kumanda tabloları ve analizlerden doğrudan verilerinizi güncellemelerini sağlar.
Veritabanını Güncelle iznine sahip kullanıcılar analizlerdeki güncelleme alanlarını düzenlenebilir alanlar olarak görürler. Girdikleri değerler veritabanına kaydedilir. Veritabanını Güncelle iznine sahip olmayan kullanıcılar analizlerdeki güncelleme alanlarını salt okunur alanlar olarak görürler.
Kullanıcı düzenlenebilir bir alana bir değer girer ve güncelleme düğmesine tıklarsa uygulama güncelleme şablonunda tanımlı insert
veya update
SQL komutunu çalıştırır. Komut başarılı olursa analiz yeni değer ile güncellenir. Şablon okunurken veya SQL komutu çalıştırılırken bir hata oluşursa bir hata mesajı görüntülenir.
Bir kayıt henüz mevcut olmadığında ve kullanıcı tabloya yeni veri girdiğinde insert
komutu çalışır. Bu durumda, kullanıcı ilk değerin null olduğu bir tablo kaydı girdi. Kullanıcı mevcut verileri değiştirdiğinde update
komutu çalışır. Henüz fiziksel tabloda mevcut olmayan bir kaydı görüntülemek için başka bir benzeri tablo oluşturabilirsiniz. Kullanıcının değiştirebileceği yer tutucu kayıtlarını görüntülemek için bu benzeri tabloyu kullanın.
Not:
Güncelleme şablonlarını oluşturduğunuzda her ikisi aynı anda kullanılmasa bile hem insert
komutunu hem de update
komutunu dahil etmelisiniz. Örneğin, sadece bir insert
gerçekleştiriyorsanız bu XML kodunda olduğu gibi boş bir update
güncelleme komutu <update></update>
eklemelisiniz.
insert
komutu ve iki boş update
komutu içeren örnek bir güncelleme XML dosyası burada. Güncelleme XML dosyalarının nasıl oluşturulduğu ve yapılandırıldığına ilişkin daha fazla bilgi bulmak üzere bkz. Güncelleme Şablon Dosyaları Oluşturma.
<?xml version="1.0" encoding="utf-8" ?> <WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1"> <WebMessageTable lang="en-us" system="WriteBack" table="Messages"> <WebMessage name="SetQuotaUseID"> <XML> <writeBack connectionPool="Supplier"> <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert> <update></update> </writeBack> </XML> </WebMessage> <WebMessage name="SetForecastUseID"> <XML> <writeBack connectionPool="Supplier"> <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert> <update></update> </writeBack> </XML> </WebMessage> </WebMessageTable> </WebMessageTables>
Yöneticiler, kullanıcıların analiz ve kumanda tablolarında verileri güncellemelerini sağlarlar.
Kullanıcılar, Oracle Analitik SQL sorgularının yürütülmesine olanak tanıyan herhangi bir veri kaynağını güncelleyebilir.
Güncelleme için konfigüre ettikçe şu sınırlamalara dikkat edin:
Sayısal sütunlar sadece sayı içermelidir. Dolar işareti ($), pound işareti veya tire işareti (#), yüzde işareti (%) vb. gibi herhangi bir veri formatlama karakteri içermemelidir.
Metin sütunları sadece dize verilerini içermelidir.
Oturum açan kullanıcı, verilerin güncelleme kullanılarak değiştirildiği bir kumanda tablosunu içeren bir kumanda tablosunu zaten görüntülüyorsa veriler kumanda tablosunda otomatik olarak yenilenmez. Güncellenen verileri görmek için kullanıcı kumanda tablosunu manuel olarak yenilemelidir.
Tablo mekanizmasını sadece tablo görünümleri ile ve tek değerli veriler için kullanabilirsiniz. Şablon mekanizması özet tablo görünümleri veya herhangi bir diğer tipte görünüm, birden çok değerli veriler veya tek değerli verileri olan aşağı açılan sütunlar için desteklenmez.
Güncelleme sütunlarındaki tüm değerler düzenlenebilir. Yazdırılabilir olmayan bağlamda görüntülendiğinde düzenlenebilir alanlar kullanıcı Veritabanı Güncellemesi yetkisine sahip olduğunda gibi görüntülenir. Bununla beraber mantıksal bir sütun değişebilen bir fiziksel sütuna eşlendiğinde mantıksal sütun çok düzeyli kesişimler için değer döndürür. Bu senaryo sorunlara yol açabilir.
Analizdeki herhangi bir alan oluşturduğunuz güncelleme tablosundan türetilmemişse bile bir güncelleme alanı olarak işaretlenebilir. Bununla beraber, tablo güncelleme etkin değilse güncelleme işlemini başarıyla çalıştıramazsınız. Alanları doğru biçimde etiketleme sorumluluğu içerik tasarımcısındadır.
Bir şablon insert
ve update
dışında SQL komutlarını içerebilir. Güncelleme fonksiyonu bu komutları veritabanına iletir. Bununla beraber Oracle insert
ve update
dışında herhangi bir komutun kullanılmasını önermez.
Oracle Analitik veri girişinin minimum doğrulamasını gerçekleştirir. Alan sayısal ise ve kullanıcı metin veri girerse Oracle Analitik bunu tespit eder ve geçersiz verilerin veritabanına iletilmesini engeller. Bununla beraber, geçersiz veri girişinin diğer biçimlerini tespit etmez (aralık dışı değerler, karışık metin ve sayı vb.) Kullanıcı güncelleme düğmesine tıkladığında ve bir ekleme veya güncelleme çalıştırıldığında geçersiz veri veritabanından bir hata mesajına yol açar. Kullanıcı hatalı girişi düzeltebilir. İçerik tasarımcıları kullanıcıya yardım etmek için güncelleme analizine metin ekleyebilir, örneğin "Karışık alfasayısal değerlerin sayısal bir veri alanına girilmesine izin verilmez".
Şablon mekanizması rastgele seçilmiş yeni kayıtları girmek için uygun değil. Başka bir deyişle bir veri giriş aracı olarak kullanmayın.
Güncelleme için bir tablo oluşturulurken en az bir sütunun güncelleme kabiliyetine sahip olmadığına ancak her satır için benzersiz olan ve null olmayan değerler içerdiğine emin olun.
Güncelleme analizleri detaya gitmeyi desteklemez. Detaya gitme tablo yapısını değiştirdiği için güncelleme şablonu çalışmıyor.
Dikkat:
Şablon mekanizması kullanıcı girdisini alır ve veritabanına doğrudan yazar. Fiziksel veritabanının güvenliği sizin sorumluluğunuzdadır. Optimum güvenlik için güncelleme veritabanı tablolarını benzersiz bir veritabanı anına saklayın.Bir güncelleme şablonu dosyası, bir veya daha fazla güncelleme şablonu içeren XML formatlı bir dosyadır.
Bir güncelleme şablonu şablonun adını belirten WebMessage
öğesini, bağlantı havuzunu ve de oluşturduğunuz sütunlar ve güncelleme tablolarındaki kayıtları eklemek ve güncellemek için gereken SQL komutlarını içerir. İçerik tasarımcıları güncelleme için bir tablo görünüm tasarladıklarında tablo görünümündeki kayıtları eklemek ve güncellemek için kullanılacak güncelleme şablonunun adını belirtmelidirler.
Bir güncelleme şablonu şu gereksinimleri karşılamalıdır:
WebMessage
: WebMessage öğesindeki ad
özelliğini kullanarak güncelleme şablonu için bir ad belirtmelisiniz.
Güncelleme için bir tablo görünüm etkinleştirildiğinde güncellemenin doğru çalışması için bir içerik tasarımcısının görünümündeki kayıtları eklemek ve güncellemek için kullanılacak güncelleme şablonunun adını belirtmesi gerekir.
Bu örnek, SetQuotaUseID
adında bir güncelleme şablonunu göstermektedir.
<WebMessage name="SetQuotaUseID">
connectionPool
: Güvenlik gereksinimlerini karşılamak üzere kayıt eklemek ve güncellemeye yönelik SQL komutlarının yanı sıra bağlantı havuzunu da belirtmelisiniz. Bu SQL komutları, veritabanı tablosunu değiştirmek için SQL komutları oluşturmak üzere güncelleme şemasına iletilen değerleri referans alır.
VALUES (DEĞERLER)
: Sütun değerleri sütun No veya sütun konumu ile referans gösterilebilir. Sütun No kullanılması tercih edilir.
Dize ve tarih değerlerini tek tırnak ile kapsayın. Sayısal değerlerde tek tırnak gerekli değildir.
Sütun No - Her sütun No alfasayısaldır ve rastgele oluşturulur. Analiz düzenleyicisinin Gelişmiş sekmesindeki analizin XML tanımında sütun No'ları bulabilirsiniz. Örneğin, @{c5f6e60e1d6eb1098}
, @{c3a93e65731210ed1}
, '@{c6b8735ea60ff3011}'
gibi sütun No değerleri
Sütun No kullandığınızda sütun sırası değişse bile güncelleme çalışmaya devam eder.
Sütun konumu - Sütun konumlarının numaralanması 1 ile başlar. Örneğin, @1
, @3
, '@5'
gibi sütun konumu değerleri
Sütun sırası değişirse güncelleme artık çalışmaz. Bu, sütun No'ların tercih edilme nedenidir.
Şablona hem <ekleme>
hem de <güncelleme>
öğesini eklemelisiniz. Öğelere SQL komutlarını eklemek istemiyorsanız açılış ve kapanış etiketleri arasına boşluk eklemelisiniz. Örneğin, öğeyi şu şekilde girmelisiniz:
<insert> </insert>
Bunun yerine:
<insert></insert>
Boşluğu ihmal ederseniz "Sistem 'my_template' Güncelleme Şablonunu okuyamıyor" gibi bir güncelleme hata mesajı görürsünüz.
Parametrenin veri tipi bir tam sayı veya gerçek bir sayı değilse etrafına tek tırnak işaretleri ekleyin. Veritabanı Kaydetmeyi otomatik olarak yapmazsa isteğe bağlı postUpdate
düğümünü kaydetmeyi zorunlu kılmak üzere ekleme
ve güncelleme
düğümlerinden sonra ekleyin. postUpdate
düğümü genelde şu örneği uygular:
<postUpdate>COMMIT</postUpdate>
Örnek Sütun No Söz Dizimi Kullanılarak Güncelleme Şablonu Dosyası
Sütun No'ya göre değerleri referans alan bir güncelleme şablonu dosyası bu örneği temsil edebilir:
<?xml version="1.0" encoding="utf-8" ?> <WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1"> <WebMessageTable lang="en-us" system="WriteBack" table="Messages"> <WebMessage name="SetQuotaUseID"> <XML> <writeBack connectionPool="Supplier"> <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert> <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update> </writeBack> </XML> </WebMessage> </WebMessageTable> </WebMessageTables>
Örnek Sütun Pozisyonu Söz Dizimi Kullanılarak Güncelleme Şablonu Dosyası
Sütun konumuna göre değerleri referans alan bir güncelleme şablonu dosyası bu örneği temsil edebilir:
<?xml version="1.0" encoding="utf-8" ?> <WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1"> <WebMessageTable lang="en-us" system="WriteBack" table="Messages"> <WebMessage name="SetQuota"> <XML> <writeBack connectionPool="Supplier"> <insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert> <update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update> </writeBack> </XML> </WebMessage> </WebMessageTable> </WebMessageTables>