Jump to content

Olivier Jourdan

  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Olivier Jourdan

  1. Hi there,

    I'm still using attributes feature of the SQLite Lib and come across a random issue. I'm sometimes stuck in the Reset function of the Get Attribute. VI cannot be aborted and the only solution I have is to kill LabVIEW to get out of this.

    It guess something goes wrong with SQLite ref, but can't figure out what. I open the connection at the application start up and close the connection at the end. Issue occurs out of these 2 different steps.

    Any idea on what's happening?


    [EDIT] I think, I found the bug in my code where I was closing the connection. Anyway, calling SQLite functions on a closed reference causes the code to be stuck in the SQLite dll function calls... Good to know to avoid a big problem 😆)

  2. 4 minutes ago, drjdpowell said:

    I've been burned by Semaphores in the past and won't use them, but I'll use some other method.

    Semaphore was the most natural solution to implement for me, but I made the fix for my use case, and I can see issues in some cases. Building tools for everyone is not that simple.
    Anyway, I take the opportunity of this message to thank you for the great job you've been with this tool 👍.

  3. I think I got the thing.
    Get Attribute function is not reentrant, a good thing in our case, but Get Attribute is a polymorphic VI.
    If I read 3 Dbl attributes in parallel, everything is fine. If I try to get a 4th string attribute, I get the error.
    As far as I know, I can't see another thing to do but implement a semaphore to prevent this error.


    [EDIT]Same thing should apply for Set Attribute[/EDIT]

  4. I made some tests with attributes.

    When I read attributes in parallel, I have the following error that pops-up randomly:



    Error 402880 occurred at SQLite.Attrib.lvlib:Connection (with Attributes).lvclass:Get Attribute (DBL).vi:Bind Text
    SQL--> "SELECT Value FROM Attributes WHERE Name=?"
    MAIN db name-->"C:\Users\team\Desktop\test.bench"

    SQLITE_MISUSE(21): not an error

    Complete Call Chain:
    SQLite.Attrib.lvlib:Connection (with Attributes).lvclass:Get Attribute (DBL).vi
    Config Db.lvlib:Get Cabinet Watchdog Low Level.vi
    Test Db Parallel Access On Attributes.vi

    Possible reason(s):

    SQLite returned SQLITE_MISUSE(21).  May indicate that a method has been used out of order, such as trying to "Bind" to a statement after calling "Step" and before "Reset". See www.sqlite.org/rescode.html#misuse


    It seems that statement used to read the attribute could be "broken."
    I continue my investigation and keep you posted.

  5. Hey there,
    I've been successfully and happily SQLite Library for months to save application configuration. But these days I'm facing some issues when my last app is running on different computers. Sometimes, it seems that the configuration is not completely or correctly read.
    When I'm applying configuration, I read DB multiple times in parallel at different locations. As far as I know, SQLite manages that properly. But as far as the issue occurs randomly, I have to suspect parallel executions issue.

    Note that, in addition to usual tables, I'm using the Attribute feature of the SQLite Library with which I had an issue with parallel execution.

    Does anybody already add this kind of issue, or am I misusing SQLite or the SQLite library?

    Thanks in advance for your help.


  6. Hi there,

    I'm experiencing a weird behavior with foreign key constraint.

    I'm inserting a row in a table with a bad "link" (id in parent table doesn't exist). I'm expecting an error to be thrown by EXEC but not error and the "bad" row is inserted !?

    If I execute the same SQL query in SQLiteExpert an error is thrown as expected...


    Note 1: I have UNIQUE constraint in my table that correctly throw error when value inserted is not  unique

    Note 2: I found the message below related to error propagation, but in my case return code is equal to 0 

    On 4/30/2017 at 4:01 PM, drjdpowell said:

    Hi Max,

    The actual bug, I think, was that “Step.vi” was ignoring errors outside of 1..99.  It has a case structure that only passes those codes to the error-handling subVI (written, originally, because 100 and 101 are not errors).  I have changed it so that the extended error codes are now passed (see version 1.7.3 just added to the LAVA CR).  I tested it by making a foreign key error and it now works.

    Bugfix SQLite.png


    If someone has an idea of what I'm doing wrong, I'd be pleased to hear from him.


    Have a good day :)



  7. 22 hours ago, JeremyMarquis said:

    Looking at the tickets list, I do not see that your order went through.  Can you try again?  PM me if you still have issues!


    Hey Jeremy,

    Tried from home, it worked. I'll be there :)

    (previous transaction was probably prevented by my company's IT :( )

    • Like 2
  8. Everyone counts, it not depends on how "old" you are. I know very old people able to do thing I'll never do ;)

    However, Strava is "GPS activity" oriented. Bike, run, ski….


    You can still join to follow and give kudos to members or give a try to new sports :)   

  9. Stay tuned -- perhaps some of these concerns are addressed in unreleased versions and a nudge is all it takes....  :)


    Hello every one,

    To avoid too much thread jacking, I've reply to John on our community page --> https://decibel.ni.com/content/docs/DOC-21668#comment-28558

    I was going to say something along the same lines.  I like what they have put together but I don't think I can bring myself to use it in an application at the moment.  I would also much appreciate an open version licensed under BSD or something, and having no passworded diagrams.


    Hope that the new version should bring you most than the current one. Feel free to ask me for beta.

    Concerning access to diagram is not that simple because this toolkit is developed by a company not by one person on his spare time. I'm not saying that the code won't be accessible in the future, but in a short term, it's not planned to be done. Note that this choice is not only relying on me. 

  10. Every now and then I try using an XControl.. and get annoyed by its limitations. Graph annotations is another example...


    I just used the IP-address XControl here from the LAVA repository - it is a great use case, but the fact that you cannot tab out of this XControl like with other controls breaks the consistency of the GUI.


    I have not tried to get around it by modifying the code, but found a page on ni.com that says it's not doable. Is that really the case? Silly...


    Tabing navigation with XControl is really painful to implement, but it's doable. You can see an example with placeHolder Xcontrol here --> https://decibel.ni.com/content/docs/DOC-21668

    I've posted an idea about this, but get not much kudos for :( --> http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-quot-Get-focus-quot-facade-VI-Event-to-XControl/idi-p/1482670

  11. A. A. A. ;)

    To be fair, I run into much C, but I can't think ui without the use of XControl.


    I want #5 Jack mention to be false, but I'have to recognize that XControls new features or bug fix are really rare :(

  12. I'm trying to understand if there is a licensing problem using MySQL database with the NI DB Connectivity Tool. The ODBC provided with are GPL-licensed and I think that if you link you code with it, there can be a problem if you plan to use a license different from GPL.

    Moreover I find that NI DB Connectivity Tool is quite slow.

     Have you try this http://sine.ni.com/nips/cds/view/p/lang/en/nid/210228 ? It's not based on ADO calls and it can work on RealTime target. You should perhaps try the demo version.



  • Create New...

Important Information

By using this site, you agree to our Terms of Use.