9 Replies Latest reply on Jun 14, 2009 10:12 PM by Foxchx

    SQL connection Error 3115

    Foxchx Level 1

      Out of the blue my app stopped fetching the info from my ZIP file... it use to work, but since i changed the content of the zip file (added some rows) it doesn't work anymore.

       

       

      PPl are talking about the a problem in AIRSQL that new antry sometimes don't get recongized and create column type problems etc...

       

      Now i am very puzzle with all of this because i don't know where i can find a SQLmanager to play with the D created by my app, i don't even understand how the damn thing understand that [col4 = email] in my excel...is there hidden code in the excel?? is it the MXML code that just fetch col by number?? is it the database that has the col specs??

       

      so i have a lot of holes in my understanding of that task executed by my app (the employee directory) can anybody  point me on a tut or help file that would clear that out??

        • 1. furthermore
          Foxchx Level 1

          maybe just pointing me out the way of debugging errors like that!

           

          [DEBUG] InsertEmployeeDataCommand : beginning transaction. [DEBUG] InsertEmployeeDataCommand : An error occurred executing the SQL : 3115 : Error #3115: SQL Error. - INSERT INTO employee ('id', 'firstName', 'lastName', 'displayName', 'title', 'department', 'managerId', 'email', 'email2', 'phone', 'phoneExtension', 'fax', 'cellPhone', 'deskLocation', 'location', 'city', 'state', 'postalCode', 'countryCode')  VALUES (:id, :firstName, :lastName, :displayName, :title, :department, :managerId, :email, :email2,  :phone, :phoneExtension, :fax, :cellPhone, :deskLocation, :location, :city, :state, :postalCode, :countryCode); [ERROR] InsertEmployeeDataCommand : : An error occurred executing the SQL : 3115 : Error #3115: SQL Error. - INSERT INTO employee ('id', 'firstName', 'lastName', 'displayName', 'title', 'department', 'managerId', 'email', 'email2', 'phone', 'phoneExtension', 'fax', 'cellPhone', 'deskLocation', 'location', 'city', 'state', 'postalCode', 'countryCode')  VALUES (:id, :firstName, :lastName, :displayName, :title, :department, :managerId, :email, :email2,  :phone, :phoneExtension, :fax, :cellPhone, :deskLocation, :location, :city, :state, :postalCode, :countryCode); [ERROR] SynchronizeDatabaseCommand : onSyncEmployeeError: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="An error occurred executing the SQL : 3115 : Error #3115: SQL Error. - INSERT INTO employee ('id', 'firstName', 'lastName', 'displayName', 'title', 'department', 'managerId', 'email', 'email2', 'phone', 'phoneExtension', 'fax', 'cellPhone', 'deskLocation', 'location', 'city', 'state', 'postalCode', 'countryCode')  VALUES (:id, :firstName, :lastName, :displayName, :title, :department, :managerId, :email, :email2,  :phone, :phoneExtension, :fax, :cellPhone, :deskLocation, :location, :city, :state, :postalCode, :countryCode);" errorID=0] [ERROR] SynchronizeDatabaseCommand : : An error occurred executing the SQL : 3115 : Error #3115: SQL Error. - INSERT INTO employee ('id', 'firstName', 'lastName', 'displayName', 'title', 'department', 'managerId', 'email', 'email2', 'phone', 'phoneExtension', 'fax', 'cellPhone', 'deskLocation', 'location', 'city', 'state', 'postalCode', 'countryCode')  VALUES (:id, :firstName, :lastName, :displayName, :title, :department, :managerId, :email, :email2,  :phone, :phoneExtension, :fax, :cellPhone, :deskLocation, :location, :city, :state, :postalCode, :countryCode); [DEBUG] DataSynchronizationManager : onSyncError - An error occurred executing the SQL : 3115 : Error #3115: SQL Error. - INSERT INTO employee ('id', 'firstName', 'lastName', 'displayName', 'title', 'department', 'managerId', 'email', 'email2', 'phone', 'phoneExtension', 'fax', 'cellPhone', 'deskLocation', 'location', 'city', 'state', 'postalCode', 'countryCode')  VALUES (:id, :firstName, :lastName, :displayName, :title, :department, :managerId, :email, :email2,  :phone, :phoneExtension, :fax, :cellPhone, :deskLocation, :location, :city, :state, :postalCode, :countryCode);

           

          So sth is causing the insertion of new data or table in my SQL to bug?

           

          Now like i mention in the first post, there is many little thing i don't know how to deal with, but if i were to just debug this bug what would be the step from here.

          • 2. Re: furthermore
            Richard_Abbott Level 3

            Foxchx,

            I don't really have enough background info to say much with confidence - I imagine you are working through some kind of worked example?

            But to tackle some of your questions:

            1) Excel can act as an ODBC source quite easily, in a way that a plain text file like CSV finds more difficult. So yes, it is quite possible to work out that (for example) col4 is email because of the column titles, which in another post you asked about. Basically the first row is taken to be what in a normal database would be field names.

            2) However, because Excel is not actually a real database there is a lot of missing information such as data types - normally part of your table specification would be indicating all kinds of meta-information like whether the field is int/string/etc, whether it is allowed to be null, etc. In the Excel case then something somewhere has to guess what the field type is from the contents of the sheet - often in fact just the first few rows rather than take time to trawl through however-many thousand rows!

            3) So if you add some data rows at the end of the file, it is possible that you have accidentally used an invalid data type - you know what the type ought to be according to the problem, but the ODBC layer does not enjoy this advantage.

             

            Whatever the cause, the SQL error is complaining that the ODBC layer cannot make sense of the insert query - whether because of data type, or a disallowed null value, or because a field name is wrong somewhere, or because the field count is wrong, or even that for some reason you don't have insert prviliege here (is the file read-only?) it is impossible to say. It may well be that you have to use Excel because of the problem you are tackling, but if not, I would recommend using a "real" database to learn on. Excel is quick and convenient, but was not originally built for this purpose and so there are problems.

            I don't know if you tried a Google search on SQL error 3115, but a quick search suggests that it is often caused by an inability to convert string to date. At face value it doesn't look as though you have a date field, but conceivably one of your fields looks like a date and ODBC is making a wrong guess?

            Richard

            • 3. Re: furthermore
              Foxchx Level 1

              quoting your last bit, I found that the Date issue in Adobe AirSQL is the most likely (google), but as I didn't change anything just duplicated existing col, and their realation to the app, i would need to understand more about the SQL control in AIR.

               

              I do't know yet how to get in my DB, too new to air, so i can't see in there and troubleshoot (they say the DB file can be anywhere on my PC!?)

               

              thanks for the explaination on Excel.... You might want to check out this post (that should be fairly easy to explain) i am asking about the relation in ED's case between CSV/xls/.csv.zip, if you feel for it!


              Thanks

              • 4. Re: furthermore
                Richard_Abbott Level 3

                Foxchx,

                maybe you could post the first two rows of the file so we can see what the data looks like.

                About the database and its location on your PC - it all depends what database engine you are using. If it is just MS Office (Excel or Access) then the content is contained in single files and so yes, it can be anywhere. But if you start using MySQL, Oracle etc then no, these will import your data and then store it in their own format in a very specific location. You then have to use a different way to specify which database/table you want, usually by setting up a connection string that identifes such stuff.

                Of course, none of this is Flex coding as such, it is all back-end bits and pieces behind the Flex application. If you were using Flex as a web tool instead of AIR, then your server-side code would be managing all this.

                Richard

                • 5. Re: furthermore
                  Foxchx Level 1

                  Man thanks for the minute reply!

                   

                  original.jpg

                  that was the original file...

                   

                  changed.jpg

                  Now here i added the info for the new field i created in the app (i follow the tutorial and everytime that i made a change it made sense because there was already many entry and they seem to fit, So my guess is that the problem lays in the DB thingy that everyone talk about with the "date" issue in AIRSQL)

                   

                  Maybe you can see sth that's just wrong, until then i need to understand and work on the DB side (so i am ready the manual and see)

                   


                  The confusion lays in the fact that i always only used database with MySQL and pretty much only altered them from with the Mysql admin so i am not use and (till now) do not understand if we are only fetching info from that zip file or if we are using a localDB of some other sort(like my localhost)!?!?

                   

                  It's all very confusing! just hope that the day i get it it's not absolute! hehe

                  • 6. Re: furthermore
                    Richard_Abbott Level 3

                    Foxchx,

                    at a guess, your column K is the culprit - Excel is showing this as 1-Oct etc and I have a suspicion that it is formatting things wrongly. Have a look in the CSV file using a text editor like Notepad and see what the plain-text version of this field is.

                    Richard

                    • 7. Re: furthermore
                      Foxchx Level 1

                      You see just telling me that i should look at the file in notpad is giving me an whole ne perspective on the file and it's role (plus you telling me in the post before!)

                       

                      The 1-oct is not part of the changes i made and it worked before so i assumed that it wasn't but, maybe it is?

                       

                      but i'll start testing  and trying with and without

                       

                      thanks again for the help!

                      • 8. Re: furthermore
                        Foxchx Level 1

                        Well i wanted to go test this and redo a csv file that would not include any dates..... but it seems my WORKSPACE got corrupted!?!?!?!

                         

                        I haven't change anything just re open flex builder and BOOM no files!!!!

                         

                        wierd as the files are in the location but flex can't connect to it!!!???

                         

                        Anyclue what that is?!

                        • 9. Error 3115 Solved!
                          Foxchx Level 1

                          After using a tip for a Force update of the App, everything got repaired....

                           

                          To force update the Adobe employee directory app, you are supposed to either,

                           

                          1- Wait the 24hours (set in the config file)(or change it to 1hour and then just wait 1hour)

                          2- Click on the info button (!) and then click on the logo from within the infopanel (i call it the i+logo method)

                           

                          Now that didn't work because of error3115! so what do we do?

                           

                          well you can also force an update by:

                           

                          1- delete your database file (yeah i know this one's a *****)

                           

                          because the AIRFLEX documentation talk about database being stored anywhere on your PC that makes it a ***** to figure where the hell it is by default and what it is called.

                           

                          My default was in:: C:\Users\user\AppData\Roaming\employeedirectory\Local Store

                           

                          And was called   :: employeedirectoryM6.db

                           

                          After i deleted that file and restarted my app, the app itself try to update and as there is no files anymore, it creates a new one.

                           

                          In my case the file must have been corrupted because doing so repaired everything!?!?!?

                           

                          As i have no control on the creation of that file, i have no clue what type of corruption can happen but at least it fixed it all!!!

                           

                          Once again I got the answer from the only blog that really helped me so far, if you deal with EmployeeDirectory from adobe visit this blog http://www.alivelearn.net/?p=259