İçeriğe geç

SQL Veri Kaynağı

SQL veri kaynağı, platformun dışındaki bir veritabanına bağlantı tanımıdır. Tanımlandıktan sonra script’ler, raporlar ve kayıtlı sorgular ona adıyla erişir.

SQL Veri Kaynağı ekranı

AlanAçıklama
NameVeri kaynağının adı; script ve sorgular bu adla çağırır (en çok 100 karakter)
DescriptionAçıklama (en çok 255 karakter)
URLJDBC bağlantı adresi (en çok 2048 karakter)
UsernameKullanıcı adı (en çok 50 karakter)
PasswordParola (en çok 50 karakter)
Is DefaultBu kaynağın projenin varsayılan kaynağı olup olmadığı

Listede parolanın kendisi değil, ayarlı olup olmadığı görünür. Şifreli saklanır ve okunmak üzere geri verilmez. Düzenlerken parola alanı boş gelir: boş bıraktığınızda mevcut parola korunur, yalnızca yeni bir parola yazdığınızda değişir.

Is Default işaretli kaynak, adı yazılmadan çalıştırılan sorguların gittiği yerdir:

ins.runSql('SELECT ...'); // varsayılan veri kaynağı
ins.runSql('UretimDB', 'SELECT ...'); // ada göre

Bir projede yalnızca bir kaynağı varsayılan işaretleyin. İkincisini işaretlemek birincinin işaretini kaldırmaz ve kaynak adı yazılmayan çağrı hangisine gideceğini belirleyemez. Araç çubuğundaki çoğalt düğmesi Is Default dahil tüm alanları kopyaladığı için bu duruma en kolay buradan düşülür: çoğalttıktan sonra kopyanın işaretini kaldırın.

Veri kaynağı adresleri bir izin listesine tabidir. Liste ins.datasource.allowed-hosts ile verilir; virgülle ayrılmış ana makine adları (veritabani.ornek.com), joker alt alan adları (*.ornek.com) ve CIDR blokları (10.0.0.0/8) kabul edilir.

DurumSonuç
Liste boş (varsayılan)Hiçbir adrese izin verilmez
Adres listedeİzin verilir
Adres listede değilReddedilir
Loopback, 0.0.0.0 veya link-local adresListe ne derse desin reddedilir

Bu, kurulumun bilerek böyle bırakılmış bir davranışıdır: ayar yapılmadan hiçbir veri kaynağı çalışmaz, çünkü aksi hâlde bir script’in sunucunun ulaşabildiği her adrese sorgu göndermesinin önü açık olurdu.

JDBC adresinden ana makine adı çıkarılırken kullanıcı bilgisi, yol ve SQL Server’ın noktalı virgüllü parametreleri atılır. Yüksek erişilebilirlik için birden çok makine yazılmış bir PostgreSQL adresinde hepsinin listede olması gerekir. Oracle TNS biçimi (// içermeyen adres) desteklenmez; bu biçimde bir adres kaydedilemez.

Adres iki yerde denetlenir: kaydederken (hatalı adres formda hata olarak döner) ve sorgu çalışırken.

SınırVarsayılanNereye uygulanır
Bağlanma10 saniyeAyakta olmayan kaynak hızlı hata verir
Sorgu60 saniyeBir sorgunun alabileceği süre

Her veri kaynağı için bir bağlantı havuzu açılır ve sonraki sorgularda yeniden kullanılır. Kaydı düzenlediğinizde ya da sildiğinizde havuz kapatılıp bırakılır; yeni adres veya parola bir sonraki sorguda kendiliğinden geçerli olur. Yeniden başlatmaya gerek yoktur.