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. パスワードまたはメールを変更するために現在のパスワードをユーザに提供する
- 2. PostgreSQLのcreatedbに対話的にパスワードを提供する方法は?
- 3. WSSecurityEngineは、コールバック中にパスワードが提供されていないのにパスワードが提供されていないと示します
- 4. webpyでファイルを提供するには?
- 5. JPA。 EricipselinkはmySQLのパスワードを提供していません
- 6. アプリケーションサーバーは、提供できるSpringを提供しますか?
- 7. URLを提供せずに
- 8. NSHTTPURLResponseにHTTPVersionを提供
- 9. プログラム内にJavaCompilerを提供する
- 10. 「カレンダーに追加」リンクを提供する
- 11. ローカルにウェブアプリケーションを提供する
- 12. リンクを使わずにDrupalでファイルを提供するには?
- 13. sqlite3のユーザ名とパスワード
- 14. 結果に同義語を提供する検索機能または修正を提供する
- 15. django.db.utils.OperationalError:fe_sendauth:パスワードが提供されていません
- 16. Ubuntu提供のCrypto ++に対するコンパイル
- 17. 私はOOZIEを通じてSQOOPにパスワードを提供してMS-SQLに接続できますか?
- 18. リダイレクトを提供するCDN?
- 19. wicketアプリにopenIdログインを提供するには?
- 20. PATH変数をApacheに提供するには? (OSX Lion)
- 21. Matlabに希望の古いgccバージョンを提供するには?
- 22. is_staffユーザーにのみファイルを提供するには?
- 23. Elixir Phoenixのクライアント側に翻訳を提供するには?
- 24. SmartGwt:TreeGrid-DataSourceにxmlデータを提供するには?
- 25. CakePHP 2.1 - ID、電子メール、パスワード(ハッシュ)のみを提供するAuthComponent :: user()だけ
- 26. PHPはSpinxクライアントAPIを提供するようにLucene Client APIを提供していますか?
- 27. gcc 2.03はcc1.exeを提供します:32ビットのウィンドウでコンパイル中にエラー "out of memory alloction"エラー7 OS
- 28. すべてのビューにユーザオブジェクトを提供
- 29. Railsアプリケーションにデータベースパスワードを安全に提供
- 30. ハードウェアにMSIL/CLRを提供するベンダーはありますか?
ファイルが有効なsqliteデータベースであり、破損していないことを確認していますか? –
誰かが電子メールで私にそれを送ってきたので、私は確信していませんが、有効な暗号化されたデータベースであれば、そのパスワードが何であるかを知っています。だから私はそれを検証したいのです。私がsqlite3にパスワードを提供しても、このエラーが発生した場合、データベースが壊れているというサインになりますが、今はパスワードの提供方法がわかりません。 – Carl
それをメールで私に送った人は2週間休暇中ですから、どうやったらいいか尋ねることはできません。しかし、彼は私にパスワードをくれたので、私のデータベースは暗号化されていると思います。 – Carl