an-rahulpandey / cordova-plugin-dbcopy

Copy SQLite Database from www folder to default app database location
Apache License 2.0
89 stars 47 forks source link

Data base is getting copied but queries are not working #31

Closed khanSufiyan closed 7 years ago

khanSufiyan commented 7 years ago

Hi rahul I got the plugin to work and its logging that the data base is copied but when i try to run a Select query it is not getting execute and it does not return any log just stops there. But when i run an insert query its logging

code: 0 message: "sqlite3_prepare_v2 failure: file is encrypted or is not a database"

i am taking a backup from mysql as CSIR_DB.mysql and then renaming it as CSIR_DB.db and have pasted the file in www folder

I tried it with out coping the data base created the data base and manually inserted the data and fetched it its working fine then. The error only exists when i copy the data base

on windows running on device my logs of android monitor

09-28 12:31:59.925 829-952/? D/PersonaManagerService: needVerificationForPackage com.CSIR.CSIR_Directory 09-28 12:32:01.345 18164-18164/? I/Finsky: [1] com.google.android.vending.verifier.v.b(194): Verification complete: id=267, package_name=com.CSIR.CSIR_Directory 09-28 12:32:02.235 829-952/? I/MyContainer: package (com.CSIR.CSIR_Directory) installed with seinfo=default 09-28 12:32:02.245 237-237/? E/installd: install: '/data/data/com.CSIR.CSIR_Directory': normal app 09-28 12:32:02.245 829-952/? W/MyContainer: assignseinfovalue, = com.CSIR.CSIR_Directory = default = 1023 = 0,501-1023 09-28 12:32:02.265 237-237/? E/installd: creating libsymlink '/data/data/com.CSIR.CSIR_Directory/lib' 09-28 12:32:03.115 829-952/? D/PackageManager: Sending to user 0: act=android.intent.action.PACKAGE_ADDED dat=package:com.CSIR.CSIR_Directory flg=0x4000000 Bundle[{android.intent.extra.UID=10296, android.intent.extra.user_handle=0}] 09-28 12:32:03.225 829-829/? D/RCPManagerService: App Installed with packageNAme = com.CSIR.CSIR_Directory 09-28 12:32:03.295 3992-3992/? E/BroadcastChangedPackage.java: [ (BroadcastChangedPackage.java:94)#A ] putPackageList result [{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"u":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"},{"r":"com.CSIR.CSIR_Directory"},{"i":"com.CSIR.CSIR_Directory"}] 09-28 12:32:03.415 829-829/? D/BackupManagerService: Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.CSIR.CSIR_Directory flg=0x4000010 (has extras) } 09-28 12:32:04.005 829-939/? I/CrashAnrDetector: onPackageAdded : com.CSIR.CSIR_Directory 09-28 12:32:04.405 18164-18164/? I/Finsky: [1] com.google.android.finsky.utils.bn.run(1302): Package state data is missing for com.CSIR.CSIR_Directory 09-28 12:32:04.425 18276-19880/? I/UpdateIcingCorporaServi: Updating corpora: APPS=com.CSIR.CSIR_Directory, CONTACTS=MAYBE 09-28 12:32:05.655 829-1642/? V/ApplicationPolicy: isApplicationStateBlocked userId 0 pkgname com.CSIR.CSIR_Directory 09-28 12:32:05.715 19923-19923/? E/dalvikvm: >>>>> com.CSIR.CSIR_Directory [ userId:0 | appId:10296 ] 09-28 12:32:05.805 829-2104/? D/ThermalMonitor: Foreground Application Changed: com.CSIR.CSIR_Directory 09-28 12:32:08.835 19923-19996/? V/info: Open sqlite db: /data/data/com.CSIR.CSIR_Directory/databases/CSIR_DB.db 09-28 12:32:08.845 19923-19996/? D/dalvikvm: Trying to load lib /data/app-lib/com.CSIR.CSIR_Directory-1/libsqlc-native-driver.so 0x425e69c8 09-28 12:32:08.845 19923-19996/? D/dalvikvm: Added shared lib /data/app-lib/com.CSIR.CSIR_Directory-1/libsqlc-native-driver.so 0x425e69c8 09-28 12:32:08.845 19923-19996/? D/dalvikvm: No JNI_OnLoad found in /data/app-lib/com.CSIR.CSIR_Directory-1/libsqlc-native-driver.so 0x425e69c8, skipping init

an-rahulpandey commented 7 years ago

I think renaming the db from mysql to .db will not work. That's why you are getting this -

message: "sqlite3_prepare_v2 failure: file is encrypted or is not a database"

Check these out for the utility -

http://www.sqlite.org/cvstrac/wiki?p=ConverterTools

khanSufiyan commented 7 years ago

I made a test db with DB Browser for SQLite and still got that same error

an-rahulpandey commented 7 years ago

Can you post some code?

khanSufiyan commented 7 years ago

DB COPY CODE if (window.cordova) { window.plugins.sqlDB.copy("CSIR_DB.db",0, function() { console.log("done coping"); db = $cordovaSQLite.openDB({name: "CSIR_DB.db", location:'default'}); }, function(error) { console.error("There was an error copying the database: " +JSON.stringify(error) ); db = $cordovaSQLite.openDB({name: "CSIR_DB.db", location: 'default'}); }); console.log("Android"); }else{ //db = $cordovaSQLite.openDB({name: "CSIR_DB .db", location: 0}); db = window.openDatabase("CSIR_DB.db", '1', 'CSIR_DB', 1024 * 1024 * 100); // browser console.log("browser"); }

SELECT QUERY var query = "select lab_id,lab_name,lab_abbr from lab_master"; $scope.lablist = new Array();

    $cordovaSQLite.execute(db, query, []).then(function(res)
     {
      if(res.rows.length > 0)
       {
        console.log("in for", res.rows.item(i).lab_id,
                  res.rows.item(i).lab_name,
                  res.rows.item(i).lab_abbr);
          for(var i = 0; i < res.rows.length; i++) 
            {
                var obj = {
                  lab_id: res.rows.item(i).lab_id,
                  lab_name: res.rows.item(i).lab_name,
                  lab_abbr:res.rows.item(i).lab_abbr
                };
                 $scope.lablist.push(obj);
            }
       } else 
        {
          console.log("No results found");
        }
    });
an-rahulpandey commented 7 years ago

Are you getting this error -

message: "sqlite3_prepare_v2 failure: file is encrypted or is not a database"

Can you check the native error log in monitor (if using Android) or Xcode?

khanSufiyan commented 7 years ago

Hi Rahul I reinstalled the plugin and and made a new db file with DB Browser for SQLite and it started to work!!! I think there was an error with the db. Thanks for the support man...