A5:SQL Mk-2

開発のこと、日々のこと

64bit版のsqliteでlocaltimeがエラーとなる

ホーム フォーラム A5:SQL Mk-2掲示板 64bit版のsqliteでlocaltimeがエラーとなる

  • このトピックには2件の返信、2人の参加者があり、最後にぬーぼーにより6年、 2ヶ月前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #3095 返信
    ぬーぼー
    ゲスト

    64bit版でsqliteに接続し、以下の関数を使用するとエラーになります。
     関数:datetime(CURRENT_TIMESTAMP,’localtime’)
     SQL:select datetime(CURRENT_TIMESTAMP,’localtime’)
    エラーメッセージは(local time unavailable)です。
    ※sqliteのコマンドラインからはエラーとならないことは確認済みです。

    これについて調べていると、
    UniDACではないのですが同じメーカーのLiteDACに
    “Bug with the “Local time unavailable” error in Direct mode on x64 platform is fixed”
    というHistoryがありました。
    https://www.devart.com/unidac/revision_history.html

    UniDACにも同じバグがあり修正されていない状況なのでしょうか?

    また、画面上には64bit版はsqlite3.dllが必要という表記がありますが
    現在はsqlite3.dllに依存せずに動作しているという認識でよいでしょうか?
    もともとsqlite3.dllを入れなくても動いていましたし、
    上記事象を回避するためにsqlite3.dllに依存させて動作させたかったのですが
    sqlite3.dllをパスが通ったところにおいてもだめでした。
    (Oracleのように直接接続か否かのオプションもありませんし)

    ご確認お願いいたします。

    #3162 返信
    松原正和
    キーマスター

    ぬーぼーさんこんにちは。

    はい、現象を確認しました。どうも、SQLite3自体の内部で発生しているエラーのようでしたが、どのような原因で出ているのか良く分かりませんでした。LiteDACの不具合と同根のようにも思えますが、こちらが2015年に修正されているのに、UniDACは直っていないというのもおかしな話ですね。

    また、UniDACに付属する静的結合用のSQLite3ライブラリ(ソース無し)ではエラーが起こるものの、SQLite3公式のDLLを動的結合させるとエラーが発生しないことを確認しました。

    とりあえず、次の2.14.0のベータ版からはSQLite3のDLLを64bit版に同梱するようにしたいと思います。

    • この返信は6年、 2ヶ月前に松原正和が編集しました。
    #3164 返信
    ぬーぼー
    ゲスト

    対応ありがとうございます。エラーにならないのを確認しました。
    これだけのためにライブラリの構成を変えていただくのも恐縮ではありますが
    助かります。
    (例えばsqliteに新機能が出た時にdllだけ差し替えれば試せるメリットもあると思います。)

3件の投稿を表示中 - 1 - 3件目 (全3件中)
返信先: 64bit版のsqliteでlocaltimeがエラーとなる
あなたの情報:




コメントは受け付けていません。