1 Reply Latest reply on May 13, 2010 2:58 AM by arjunarya

    Problems connecting to lightroom sqlite-database from air

    stigbord

      I am trying to open the lightroom .lrcat-file from adobe air. This is a sqlite3-database-file.

      I have been able to open a lot of other databases, such as the internal sqlite-db in Apple Aperture, but the lightroom database is not possible to open.

      the strange thing is:

      I can open it with other sqlite-applications, such as the sqlite-editor plugin for firefox, and "Base" for the mac.

       

      I suspect that AIR 1.5.2 has a sqlite-version that is too old, but this is not easy to verify. In the shell on the mac I can use "sqlite3 -version" but I have not figured out how to do this in AIR. Ths internal sqlite-function "select sqlite_version()" does not seem to work.

       

      The error I get is like this:

       

      Error retrieving data from DB: SQLError: 'Error #3115: SQL Error.', details:'no such table: 'AgHarvestedExifMetadata'', operation:'execute', detailID:'2013'

       

       

      If I open the database I can see that the table is there, so something else is wrong.

       

      Anyone have any good ideas?

      stig

        • 1. Re: Problems connecting to lightroom sqlite-database from air
          arjunarya

          i am sorry i dont have solution for this i serched every where did u found the solution of this i am trying this with flash my code is

           

          import flash.filesystem.File;
          import flash.data.*;
          import flash.data.SQLConnection;
          import flash.data.SQLStatement;
          import flash.data.SQLConnection;

           

          var dbFile:File=File.applicationStorageDirectory.resolvePath("mydb.db");
          var sqlConn:SQLConnection = new SQLConnection();
          var sqlState:SQLStatement = new SQLStatement();
          sqlConn.open(dbFile);
          sqlState.sqlConnection = sqlConn;
          trace(sqlConn.connected+"current status ");  // here it showing true means connection is ok


            sqlState.text = "SELECT name FROM contact";
            sqlState.execute();
            var resultArray:Array = sqlState.getResult().data;