LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Database Variant To Data: Xnode not executable

I recently got a new computer and reinstalled LabVIEW as a result.  Since that time I haven't been writing a lot of new code, but all my existing code has functioned without issue.  I'm not sure that the new computer is the root cause here, but it seems likely.

 

Today I ran into an issue while trying to pull some data from a database.  If I try to get anything other than a single element from the database I get a broken run arrow and "Database Variant To Data: Xnode not executable" when I click on it.  This happens with at least 1D and 2D arrays of ints, doubles, and strings.  If I try to get a single element I don't get an error and the VI runs.  I tried adding the broken example VI to a project and doing a mass compile, but all I got was a message saying it was a bad VI.  I've rebooted and recreated the VI only to get the same error.

 

The real kicker is that existing code that I've written prior to the new computer all runs fine.  It uses the Database Variant To Data in the same manner with 1D and 2D arrays.  If I delete the DB Variant to Data from the working VI and re-add it from the pallet then I get a broken arrow with the same error.  Both projects look like they are using the database VIs from the same location.  I only have LabVIEW 2011 installed on this computer.

 

XNode Errors.PNG

 

Any thoughts on what I'm overlooking?

0 Kudos
Message 1 of 12
(4,946 Views)

Some more testing - attached with notes.

 

1) I copied some working code to a new VI - No XNode Error.

2) Copy working code.  Delete DB Variant to Data and add it back from palette.  I get the XNode error now.

3) Copy working code.  Delete element from 2D array and drop in a numeric data type from palette.  I get the XNode error.

4) Copy working code.  Deleted the array and recreated it from an empty array and a string constant.  No XNode error, and the above two Xnode errors are GONE!

 

I couldn't understand why the errors went away so I restarted LabVIEW.  They stayed gone.

 

5) Copy working code.  Deleted array.  Dropped empty array and then dropped a numeric into the array.  I get the XNode error again 😞

6) Repeated same process as #4 above that magically fixed things last time.  No luck this time.

0 Kudos
Message 2 of 12
(4,927 Views)

I can't give you any advice on what is wrong, but I can offer a workaround for you. Replace the database variant to data node with a standard variant to data node. As far as I can tell it works just the same: turns a 2d array of varaints into a 2d array of integers.

 

Mike...


Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 3 of 12
(4,924 Views)

I knew I could use that as a work around for simple data types, but based off some of my reading here I don't think that works for clusters.  Or maybe it doesn't work for some clusters?  Either way, thanks for chiming in 🙂

I actually noticed the problem as I was working on some specifications to improve the database design we're using now.  Trying to move towards more sensible datatypes for things rather than everything in a table being a string.  That would, hopefully, ultimately lead to me turning variants into clusters.

 

It's not an immediate need, yet, or I'd be in the middle of uninstalling and reinstalling.  Just hoping to provide some useful feedback before I get to that point.

 

Since this started yesterday I've had three or four different errors when closing LabVIEW.  I had very few prior to this.  I haven't worked on trying to recreate an exact set of steps to get an error when I close LabVIEW.  Hopefully I don't need to do that much more work 🙂

0 Kudos
Message 4 of 12
(4,919 Views)
Well if you are using LV2011 you can expect a lot of closing errors -- regardless of what you do.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 5 of 12
(4,917 Views)

I never managed to uncover the exact cause of the issue even with the aid of a very helpful AE at NI.

 

I ended up curing the problem by uninstalling and reinstalling, but I had to do this twice.  The second time I took the added step of deleting the National Instruments folder left over in the Program Files directory.  I also only installed LabVIEW 2011 and the Database Toolkit the second time, and then the rest of the toolkits and DAQ drivers after confirming that my Database Variant to Data worked.

0 Kudos
Message 6 of 12
(4,865 Views)

Exactly which data types read from a DB must be converted with DATABASE Variant to Data and not regular Variant to Data?

Now that DB Var to Data is part of the DB Toolkit, even if that's the ONLY function you need from the DB Toolkit you (and your customers) have to pay extra for the toolkit.

 

0 Kudos
Message 7 of 12
(4,823 Views)

I found a work around for this issue by copying a piece of db variant to data from the example that comes with the NI.  Otherwise it always returns an error for me.  It could be, that this polymorphic vi has a certain order of connecting wires not to fail.???

0 Kudos
Message 8 of 12
(4,127 Views)
The basic issue is still that there is no reason for this node to even exist. The normal variant to LabVIEW data primative works perfectly fine with database results too.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 9 of 12
(4,121 Views)

I agree, that's what I had reverted to, untill I see a problem. 

0 Kudos
Message 10 of 12
(4,118 Views)