massive.sqlite.cs - column_nameがないため、プロトタイプは失敗します。 pragma table_infoの使用を修正しますか?

StackOverflow https://stackoverflow.com/questions/8807315

  •  26-10-2019
  •  | 
  •  

質問

Rob Connery's Massive.sqliteと遊んでいますが、プロトタイプのプロパティが呼び出されたときに問題があります。このSQL文でスキーマベースを取得します

SELECT * FROM sqlite_master WHERE type = 'table' and name = @0

ここで、 @0はテーブルの名前です。次に、そのクエリの結果を使用して、DBのデフォルトで拡張セットを作成しようとします。 column_name セットには存在しません(タイプ、名前、tbl_name、rootpage、sqlの列があります)。

だから私はSQLite Pragmaを使用してそれを修正できると思った:

PRAGMA table_info('table_name');

しかし、それもうまくいきませんでした、今回は私が得るので 結果がありません プラグマが実行されるとき。

私が足りないものはありますか?接続文字列でプラグマを活性化する必要がありますか?これを解決するためのより良い方法はありますか?

あるいは、間違った解決策で問題に直面しているだけかもしれません。

答えをありがとう!

技術的なメモ:

  • System.data.sqliteバージョン1.0.66.0をNugetから使用します
役に立ちましたか?

解決

あなたは正しいです、SQLiteスキーマ検出は大規模なもので壊れています。 Githubですでに報告されています 問題#86 しかし、修正は適用されていません。

修正を使用してプルリクエストを作成したばかりです。 https://github.com/robconery/massive/pull/122 そこからまたはメインからコードを取得できます 巨大なリポジトリ マージされた後。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top