2015年08月07日

SQLite3 暗号化

Delphi XE8 + SQLite3 で、FireDACによる、暗号化のサンプル

まず、Win32で、実行

1.   (1.Normal connect 接続) 
データベース名 SQ3_POST_11.S3DB は変更可能です。

0001.png
2. マイドキュメントに、データベースが作成されます。
0002.png
3.  (4.Create Table  テーブル作成)
0003.png
4.  (6.Encrypt On   データベース暗号化)
0004.png
5. この処理は、SKIPしてもらっても、OKです。
 必要であれば
 (9.CSV import(ある程度データを入力する場合にご使用ください) 付属の27OSAKA.CSVに100件程度データがあります)

0005.png
6.   (3.Form Close) でいったん終了します。
0006.png
7.再度、起動して、(1.Normal connect 接続)すると、
[FireDAC][Phys][SQLite] ERROR: file is encrypted or is not a database
のエラーがでれば、暗号化はOK。
0007.png
8.  (2.Encrypt connect 暗号化接続)
0008.png
9.  (8.Selectで動作確認)
0009.png
10.  (7.Encrypt Off で暗号化解除)
0010.png
11.  (3.Form Close) でいったん終了します。
0011.png
12. 再度、起動して、  (2.Encrypt connect 暗号化接続)
[FireDAC][Phys][SQLite] ERROR: Cipher: DB is not encrypted
がでれば、暗号化解除OK。
0012.png
13.  (3.Form Close) でいったん終了します。
0013.png
14.  (1.Normal connect 接続)
0014.png

上記以外、いろいろ、お試しいただければと思います。
サンプルプログラムのダウンロードは、こちらから、39_POSTAL_CSV.zip


15. sqlitebrowserで、暗号化された、データベースをオープンする。
0015.png
16.
0016.png
17. エラーとなります。
0017.png

ここから、Andoroid 4.4.3 (Nexus7)で、実行
1.
Screenshot_2015-08-04-13-53-09.png
2.
Screenshot_2015-08-07-18-13-11.png
3.
Screenshot_2015-08-07-18-13-20.png
4.
Screenshot_2015-08-07-18-13-25.png
5.
Screenshot_2015-08-07-18-13-25.png
6.
Screenshot_2015-08-07-18-13-34.png
7.
Screenshot_2015-08-07-18-24-12.png
8.
Screenshot_2015-08-07-18-24-26.png
9.
Screenshot_2015-08-07-18-24-44.png
10.
Screenshot_2015-08-07-18-24-50.png
11.
Screenshot_2015-08-07-18-25-00.png














posted by a23 at 17:53| Comment(0) | 06. SQLite

2015年08月18日

VarChar 3byte

DB2 Express-C、Oracle11gExpressでは、UTF8で、漢字は3バイト必要
なので、
『あい』を挿入する場合は、varchra(6)
『あいうえお』を挿入する場合は、varchra(15)

1. db2コマンド行プロセッサーから文字コードの確認
db2_000.png
2. db2=>get database configuration for test_k03
db2_001.png
3. IBM Data Studioから、

 CREATE TABLE test_k03
(shohin_id   CHAR(4)      NOT NULL, 
 shohin_bunrui VARCHAR(6) ,  
 shohin_mei  VARCHAR(15)  ); 
db2_002.png
4. 
INSERT INTO test_k03 VALUES ('0001','あ', 'あいうえ');
INSERT INTO test_k03 VALUES ('0002','あ', 'あいうえお');
INSERT INTO test_k03 VALUES ('0003','あい', 'あいうえ');
INSERT INTO test_k03 VALUES ('0004','あい', 'あいうえお');
db2_003.png
4.
SELECT *
  FROM test_k03
db2_004.png
5. INSERT INTO test_k03 VALUES ('0005','あいa', 'あいうえお');
db2_005.png




posted by a23 at 16:06| Comment(0) | 07. DB2 Express-C