-
Posts
152 -
Joined
-
Last visited
-
Days Won
12
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Olivier Jourdan
-
-
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 😆)
-
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 👍. -
I implemented the fix for get attribute polymophic VIs. It works on my test.
If it can help, I attached the fix (just replace the Lookup folder in ..\vi.lib\drjdpowell\SQLite Library).
Fix is made with LV2019.
-
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]
-
I made some tests with attributes.
When I read attributes in parallel, I have the following error that pops-up randomly:
QuoteError 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.viPossible 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. -
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.
Olivier
-
On 2/20/2020 at 12:27 PM, LogMAN said:
Did you enable foreign key constraints?
You need to set
PRAGMA foreign_keys = ON
Otherwise foreign key constrains are ignored.
https://www.sqlite.org/pragma.html#pr>agma_foreign_keys
You were right, thank you for your help.
-
Oups sorry fr the radio silence, I didn't receive notification of your post...
I'll give a try to that and keep you posted.
-
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.
If someone has an idea of what I'm doing wrong, I'd be pleased to hear from him.
Have a good day
-
- Popular Post
- Popular Post
QMT Group (SAPHIR and Qualimatest) will be donating a bottle of French wine and a Swiss knife (that will help to open the bottle ).
- 3
-
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!
Jeremy
Hey Jeremy,
Tried from home, it worked. I'll be there
(previous transaction was probably prevented by my company's IT )
- 2
-
Hi everyone,
I tried to register this morning without success I got the following message : "Processing is slower than usual. Please do not close this window". I gave up after 15 min.
Anybody came across this issue ?
Thanks,
-
Welcome
-
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
-
Perfect timing. I have a 40-mile "race" this Saturday. triplelakesrace.com
40 mile ! Can't wait to see your race in Strava ! Hope you'll have a perfect weather (no rain, not too much sun).
-
- Popular Post
- Popular Post
Hello everyone,
I don't how you manage that on you own, but when I have spent to much time on LabVIEW code I need to do sports to find inspiration or simply forget concerns for one hour or two. If you are used to do the same thing, you can joined "LabVIEW Users Do Sports" STRAVA club http://www.strava.com/clubs/LabviewUsersDoSports
I'll find it funny to follow and challenge other LabVIEW users all around the world.
I look forward to seing your run on Strava.
Olivier
- 5
-
SAPHIR is glad to offer 2 headlamps TIKKA Plus Petzl Night motion limited edition .
Note that these headlamps designed and manufactured in the french Alps are tested with LabVIEW
- 2
-
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.
-
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
-
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
-
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.
Olivier
-
- Popular Post
Result received this morning, I Passed
Good day today
- 3
-
Congratulation Roderic, hope that I will receive the same good news soon
-
Hello, you should perhaps give a try to XTab, this is a free solution that implement a subpannel based solution.
Video demonstration : http://www.dailymotion.com/video/xksiht_xtab-pictureviewerdemo_tech
Documentation here https://decibel.ni.com/content/docs/DOC-21668
Dowload here http://sine.ni.com/nips/cds/view/p/lang/fr/nid/210715
Olivier
- 1
DQMH - Does it make sense to have a "constant broadcast helper loop" and how do I prevent "circular messaging"?
in Application Design & Architecture
Posted
Concerning coupling related to DQMH modules, keep in mind that:
- When module A broadcast data and module B is registered to this broadcast. Module A is not coupled to module B
- When a module B uses a request or is registered to a broadcast from module A, Module B is coupled to module A
With that in mind, it's easier to detect where the coupling is.
Basically, your "low level" modules should be decoupled from the high-level modules. High-level modules are projects related and low-level modules could be used in any project.