[]
Özelleştirilmiş SQL sorgusuna göre çekilen veriyi almak
Selamlar,
Sorum AspNet MVC hakkında.
kapsamlı bir dashboard'ımız var. biz bir de sql komut alanı koymak istiyoruz. kullanıcı girsin istediği sql sorgusunu alana yazsın, server da bize o işin çıktısını versin.
sorgu yapacak kullanıcının hangi tablodaki hangi veriyi, kiminle birleştirip alacağını bilmediğimize göre nasıl bir yöntem izlemeliyiz?
Sorum AspNet MVC hakkında.
kapsamlı bir dashboard'ımız var. biz bir de sql komut alanı koymak istiyoruz. kullanıcı girsin istediği sql sorgusunu alana yazsın, server da bize o işin çıktısını versin.
sorgu yapacak kullanıcının hangi tablodaki hangi veriyi, kiminle birleştirip alacağını bilmediğimize göre nasıl bir yöntem izlemeliyiz?
basitlestirilmis bir "query language" yapmaniz gerekecek mesela xQL diye adlandirabilirsiniz. ön tarafta kullanici bu xQL ile "select veriler from veri_tablosu" diye query yazar bu bilgiyi servere gönderir, sever bu queryi parse yapar ve sizin arka tarafta kullandiniz daha karmasik tablo yapisina göre gercek daha karmasik ve bircok tabloyu birlestiren sql sorgusunu olusturur.
bu yaklasimi kullanan büyük araclar var mesela "Jira" kullaniciya kendi arama sorgularini basitlestirilmis bir kendilerine has sorgu dili olan JQL ile yapmalarini saglilyorlar. arka tarafta bu JQL parse edilerek SQL e cevriliyor. bu sayade öndeki kullanici arka taraftaki tablo yapisina ulasmamis oluyor, ama izin verilen ölcüde bir sorgu yazabiliyor. confluence.atlassian.com
bu yaklasimi kullanan büyük araclar var mesela "Jira" kullaniciya kendi arama sorgularini basitlestirilmis bir kendilerine has sorgu dili olan JQL ile yapmalarini saglilyorlar. arka tarafta bu JQL parse edilerek SQL e cevriliyor. bu sayade öndeki kullanici arka taraftaki tablo yapisina ulasmamis oluyor, ama izin verilen ölcüde bir sorgu yazabiliyor. confluence.atlassian.com
- emrahday (21.11.16 19:04:06 ~ 19:05:49)
dbnin önüne graphql koyabilirsiniz kullanıcıya onu sorgulatabilirsiniz lakin çok tehlikeli işler bunlar. Asıl ihtiyacı söylerseniz belki yardımcı olabilirim.
- ougkour (21.11.16 20:33:38)
tehlikeli. ancak burası sadece yönetici vb gibi kişiler tarafından görülecek. suistimal edilmeyecek ya da kullanıcı orada delete işlemleri yapmayacak. bunu kontrol etmek zorunda değiliz, kullanacak kişiler bilinçli.
asıl ihtiyacımız dashboard'ı kullanıcının kendisinin özelleştirmesini sağlamak. biz şunu çek, bunu getir diye metotlar yazmaktansa kullanıcı sorgusunu yazsın, istediği veriyi getirsin ekranına.
asıl ihtiyacımız dashboard'ı kullanıcının kendisinin özelleştirmesini sağlamak. biz şunu çek, bunu getir diye metotlar yazmaktansa kullanıcı sorgusunu yazsın, istediği veriyi getirsin ekranına.
- dahinnotha (22.11.16 11:44:08 ~ 11:45:10)
1