9

SQLiteに標準偏差関数が必要です。私はここで1を発見した:拡張機能をSQLiteにロードするには?

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

が、SQLiteのに拡張ファイルのその一部。私はこれまでにこれらの1つをインストールしていないし、私はどのようにするか分からない。私はこの既存の関数load_extensionを見つけました。http://www.sqlite.org/lang_corefunc.htmlにありますが、パラメータXとYが何であるか分かりません。

基本的には、私はアグリゲーション拡張ファイルをインストールする方法についてのステップ・バイ・ステップを私に教える人が必要です。誰でもこれをすることができますか?

答えて

12

SQLite拡張はダイナミックリンケージを持つライブラリです。いくつかの例を見つけることができますhereリポジトリ、ハイパーリンクを有効にするには "login/fill captcha"をクリックしてください)。例えば、md5.cを参照してください。

  • load_extensionは、md5.cである(第2の引数はエントリポイント関数の名前であり、最初の引数としてライブラリ
  • のパスを必要とSQLiteの(プラグマIIRC)
  • に有効にする必要がありますsqlite3_extension_init)。そのプロトタイプはint(sqlite3*, char **, const sqlite3_api_routines *)でなければなりません。 SQLで
  • あなたはSELECT load_extension('md5.so', 'sqlite3_extension_init');を試すことができますまたは単にSELECT load_extension('md5.so');

あなたはmd5.cをコンパイルしようとすることができ、およびSQLiteのシェルから、私は現在、同様の問題が生じています.load md5.so

+0

を使用しています。 SELECT load_extension( 'mod_spatialite')をsqliteで実行しようとしていますが、対応するmod_spatialite.dllファイルがありますが、動作させることができません。 .dllファイルはどこに置く必要がありますか? – user3116232

+0

@ user3116232 load_extension()ステートメントで.dllへのフルパスを使用していますか?もしそうなら、そうしないでください。私は、拡張エントリポイント名の控除がWindowsスタイルのパスでは機能していないことに気付きました。 – lef

関連する問題