sqlite3.exeを使用して開きたいsqliteデータベースがあります。 "ファイルが暗号化されているかデータベースではありません"と言ってクエリを作成しようとするとエラーになります。これは愚かなように見えるかもしれませんが、私はインターネット上で見てきましたが、データベースを復号化するためにsqlite3.exeにパスワード(またはキー)を入力する方法は見つけられません。 sqlite3.exeの-helpオプションまたは.helpコマンドは、それを行うための何も表示しません...それを行うことは可能ですか?もしそうなら、どうすればいいですか?sqlite3.exeにパスワードを提供するには?
答えて
あなたが信じる理由がない限り、データベースは暗号化されることはありません。あなたはデータベースをまったく開くことができますか、あるいは何らかのSQLクエリーを発行したらこのエラーが出ますか?それが前者の場合、ファイルはおそらくsqlite dbで始まらないか、破損している可能性があります。それは後者だ場合は、を使用してDBの整合性を確認してください。
pragma integrity_check;
このプラグマについての詳細はhttp://www.sqlite.org/pragma.html#pragma_integrity_checkを参照してください。
いずれにしても、dbが本当に暗号化されていない場合(sqliteはネイティブでサポートされていません)、dbはおそらく使用できません。
SQLiteは実際にSQLiteデータベースではないファイル、または壊れているファイルを渡すとエラーを報告します。暗号化をサポートするいくつかのSQLiteアドオンがありますが、それ以外のSQLiteには暗号化がありません。
これは、SQLite v2でSQLite v3データベースを開こうとしたとき(および他のバージョンの不一致の可能性もあります)にも発生します。
あなたが破損を経験していると仮定すると、(ちょうど間違ったファイルを渡し、またはSQLiteのの間違ったバージョンを使用していない)、あなたが使用しているPRAGMA synchronous
設定をチェックし、またthe list of fixed data-corrupting bugsを確認することをお勧めします。
これをチェックアウトforum here。その男はあなたと同じ質問をしていました。問題は、sqlite3 APIに標準パッケージとして提供されている保護の形態がないことですが、System.Data.SQLiteを試すことができます。フォーラムに掲載されたコードは次のとおりです。
#include <SQLite.au3> don't include sqlite.dll.au3 !!!
_SQLite_Startup ("System.Data.SQLite.dll")
ConsoleWrite(_SQLite_LibVersion() & @LF)
_SQLite_Open("testcrypt.db")
_SQLite_Exec(-1, "pragma key = 'Radu is happy!';create table if not exists test (id integer, val text);" & _
"insert into test values (1, 'abc');")
Local $row
_SQLite_QuerySingleRow(-1, "select * from test;", $row)
ConsoleWrite($row[1] & @LF)
_SQLite_Close()
_SQLite_Shutdown()
希望のコードです。
- 1. Visual Foxpro:.exeファイル内にコマンドライン機能を提供する
- 2. .exeをsqlite3データベースを含む.exeに変換する
- 3. パスワードまたはメールを変更するために現在のパスワードをユーザに提供する
- 4. PostgreSQLのcreatedbに対話的にパスワードを提供する方法は?
- 5. ローカルにファイルを提供するには?
- 6. AWS DatapipelineのPythonスクリプトでRedshiftデータベースのパスワードを提供するには?
- 7. WSSecurityEngineは、コールバック中にパスワードが提供されていないのにパスワードが提供されていないと示します
- 8. Dagger2でビューを提供するには?
- 9. Spark MLlibモデルを提供するには?
- 10. マングースのルートを提供するには?
- 11. webpyでファイルを提供するには?
- 12. gnupg-for-javaでGnuPGキーのパスワードを提供する
- 13. JPA。 EricipselinkはmySQLのパスワードを提供していません
- 14. アプリケーションサーバーは、提供できるSpringを提供しますか?
- 15. djangoでwebservicesを提供する際のトラブルpythonをアンドロイドに提供
- 16. インストール時に設定を提供する
- 17. ローカルにウェブアプリケーションを提供する
- 18. 「カレンダーに追加」リンクを提供する
- 19. プログラム内にJavaCompilerを提供する
- 20. サービスにオブジェクトを提供する
- 21. データベースにリアクティブAPIを提供する
- 22. NSHTTPURLResponseにHTTPVersionを提供
- 23. クエリパラメータにサブクエリを提供
- 24. TestBedに「entryComponents」を提供
- 25. URLを提供せずに
- 26. モナコエディタにタイプヒントを提供
- 27. Crypto-jsに値を提供
- 28. コードで提供されているユーザー名とパスワードでGoogleドライブにアクセス
- 29. Azure上でコマンドラインEXEを実行し、Azure BLOBへのパスを提供します。
- 30. フラグメントにE4 MPartDescriptorをEclipseに提供するには?
ファイルが有効なsqliteデータベースであり、破損していないことを確認していますか? –
誰かが電子メールで私にそれを送ってきたので、私は確信していませんが、有効な暗号化されたデータベースであれば、そのパスワードが何であるかを知っています。だから私はそれを検証したいのです。私がsqlite3にパスワードを提供しても、このエラーが発生した場合、データベースが壊れているというサインになりますが、今はパスワードの提供方法がわかりません。 – Carl
それをメールで私に送った人は2週間休暇中ですから、どうやったらいいか尋ねることはできません。しかし、彼は私にパスワードをくれたので、私のデータベースは暗号化されていると思います。 – Carl