REST Servis içerisindeki "queries" arayüzü temel olarak Logo Objects'in "Query" nesnesini çalıştırmaktadır. Logo Objects'in "Query" nesnesi ise büyük ve yoğun veri içeren sorgulamalarımız için uygun  değildir. Özellikle UNION ile birleştirilmiş bir kaç sorgumuz, bu sorguların içerisinde farklı tablolara yapılmış JOIN bağlantıları varsa, queries linki ile istediğimiz verimi alamayabiliriz. Bu durumu aşmak için REST servis içerisine ayrı bir sorgu arayüzü ekledik. 

Aşağıdaki örnek yine basit bir sorgu örneği, ancak bu sorgu yerine yukarıda bahsettiğim gibi daha kompleks sorgular da aynı yöntemle çalıştırılabilir.

UnSafe Sorgu Örneği
        private void UnSafeQuerySample()
        {
            string accessToken = txtAccessToken.Text;

            string postUrl = "http://172.16.57.114:32001/api/v1/queries/unsafe";
            string JSSqlText = "\"SELECT TOP 5 LOGICALREF, CODE FROM LG_001_ITEMS WHERE CARDTYPE<>22\"";

            string result = Global.HttpPost(postUrl, JSSqlText, accessToken);
            try
            {
                dynamic resJSON = JsonConvert.DeserializeObject(result.ToString());

                if (resJSON != null)
                {
                    txtJSON.Text = resJSON.ToString();
                }
            }
            catch (Exception)
            {
                txtJSON.Text = result.ToString();
            }
        }


Logo REST service ile hem select hem de non-select sorguların çalıştırılması mümkündür. Ancak, REST servisin öndeğer kurulumunda güvenlik nedeniyle SQL çağrıları kapalıdır. Projenizde SQL çağrıları yapmak istiyorsanız öncelikle Logo REST Ayarları sayfasında bahsedilen "SQL servis sorgu parametreleri" bölümündeki seçeneklerden yapmak istediğiniz işleme uygun SQL çağrılarına izin vermelisiniz. Akabinde REST servisi tekrar başlattığınızda SQL sorgularını yapabilirsiniz.

2.72.00.00 versiyonuyla birlikte, "unsafe" metodu için "cmdTimeout" parametresi eklenmiştir. Bu parametre tanımlanmadığı zaman veya Integer'a dönüştürülemeyen bir değer ile karşılaşıldığında varsayılan değeri olan "30" saniye kullanılacaktır.

Örnek url; http://localhost:32001/api/v1/queries/unsafe?cmdTimeout=60

Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım