9

SQLite'de standart sapma fonksiyonuna ihtiyacım var. Burada bir tane bulduk:Uzantılar SQLite'ye nasıl yüklenir?

http://www.sqlite.org/contrib?orderby=date

ancak SQLite bir uzantısı dosyanın onun parçası. Bunları daha önce hiç yüklemedim ve nasıl yapacağımı bilmiyorum. Bu mevcut işlevi, http://www.sqlite.org/lang_corefunc.html numaralı load_extension adresinde buldum, ancak X ve Y parametrelerinin ne olduğunu anlamıyorum.

Temel olarak, toplu uzantı dosyasının nasıl yükleneceği konusunda adım adım kılavuzluk eden birine ihtiyacım var. Bunu yapan var mı?

cevap

12

SQLite uzantıları dinamik bağlantıya sahip kütüphanelerdir. Bazı örnekler bulabilirsiniz here (Bu bir deposudur, köprüleri etkinleştirmek için "giriş/doldur captcha" üzerine tıklayın). Bakınız örneğin md5.c.

bu
  • load_extension SQLite'ta etkin olmalıdır (Pragma IIRC)
  • ilk bağımsız değişken olarak kütüphane
  • ikinci bağımsız yolunu gerektirir
  • md5.c içinde (giriş noktası işlevi adıdır
      sqlite3_extension_init). Onun prototip int(sqlite3*, char **, const sqlite3_api_routines *) olmalıdır. SQL
    • sen SELECT load_extension('md5.so', 'sqlite3_extension_init'); deneyebilirsiniz ya da sadece SELECT load_extension('md5.so');

    Sen md5.c derlemeye deneyebilirsiniz, ve sqlite kabuğundan Şu anda benzer bir soru yaşıyorum .load md5.so

  • +0

    kullanın. SELECT load_extension ('mod_spatialite') sqlite içinde çalıştırmaya çalışıyorum, ilgili mod_spatialite.dll dosyasına sahibim - ancak bu dosyayı işe yaratamıyorum. .dll dosyasını nereye koymam gerekiyor? – user3116232

    +0

    @ user3116232 .dll dosyasının tam yolunu load_extension() ifadesinde mi kullanıyorsunuz? Eğer öyleyse, bunu yapmaya çalışmayın. Uzantı giriş noktası adının düşürülmesinin Windows tarzı yollar ile çalışmadığını fark ettim. – lef