DB tools open connec.vi Invoke node connection string broken

I'm running an old version of LabVIEW (LV7.1) on my PC (I have no choice - I have to maintain this one application in this specific legacy version, due to maintiaining consistency with another plant running the same app).  Anyway, we are running it on a Win 7 (64-bit) Office 2010 PC. I'm gettting errors related to database connectivity, so I just created a new VI, just to take a look at the db connectivity by itself.  When I create a brand new VI, and just drop the DB Tools Open Connection.vi function into it, I get an error "SubVI 'DB Tools Open Connec (String).vi': subVII is not executable". After digging down, I get a "No properties" error on the Property Node.  If I click on the connection string, I get "No Properties".  Any ideas?
Attachments:
db connect error.jpg ‏145 KB

I am trying to remember but i think in newer versions of Windows (especially 64bit), the ADODB library was modified, which broke all of the database VI's in older versions of LabVIEW.   I would recommend going back to an older version of Windows if you must continue using LV7.1

Similar Messages

  • Error -2147217887 occurred at DB Tools Open Connec(string).vi

    LabVIEW 7.1 with db connectivity toolkit is returning this error every few days.
    Error -2147217887 occurred at DB Tools Open Connec(string).vi -> ...
    Possible Reason(s):
    API Error: USER LIMIT EXCEEDED. In DB Tools Open Connec(string).vi -> ...
    I use the db toolkit to open four separate connections in a polymorphic sub vi every minute and retreive new data.  The connections are opened and closed each time in the sub.vi.  This vi needs to run indefinitely. 
    Does anyone have any ideas on how to resolve this issue?
    Thanks,
    dgw

    There are usually 1-3 users on this db.  This is not really a db, it is a process historian with an OLEDB interface.  I am going to check to see how many connections it supports.

  • Using the invoke node VI Strings.Im​port

    I'm achieving a program to translate the captions which are on the front panels of existing programs.
     I use the invoke node VI String.Export to create a file containing the differents properties of the front panel objects of the target VI.
     I modify the fields <CONTROL ID .... name="xxxxx"> to change the captions and then i use the invoke node VI Strings.import to uptade the target VI.
    Then i use the invoke node VI Save.Instrument to save the modifications.
    The problem is that the Log File created by the invoke node VI Strings.import indicates me :
    Parsing error while importing strings
     to traduction_1.0.vi
     from C:\Documents and Settings\Administrator\Desktop\work\Labview\Exos\t​raduction\Vi_import.victl
    Tue, May 16, 2006 9:43:20 AM
    Error occurred while parsing for String object. Control name does not match.
    Which means that it can't change the captions name.
    Do i badly use the invoke nodes ? Do i have to use an other function?

    Apparently you are changing the control label, not the caption. If you created a caption for the control, the caption value should appear in the <PARTS> body, nested into the <CONTROL ...> tag.
    You can't change control labels this way. Labels are used to identify the control to which you are applying changes. Changing the label would cause the control not being found.
    Paolo
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

  • I am using the NI application note "Calling IVI-COM drivers from LabVIEW" I created an Automation Open and an Invoke Node, after wiring

    the 2, the AN asked to right click the Invoke Node(this is step9) and choose initialize. However there is no intialize option on the pop up menu. Anything am I doing wrong? I am using Labview6 and I did add the "enableCustomInterface=True" in the INI-fileThank you for your help.
    T Tall

    the 2, the AN asked to right click the Invoke Node(this is step9) and choose initialize. However there is no intialize option on the pop up menu. Anything am I doing wrong? I am using Labview6 and I did add the "enableCustomInterface=True" in the INI-fileT Tall,
    What's the number of the application note "Calling IVI-COM drivers from LabVIEW"? I'm unable to find what you're looking at.
    Thanks,
    --Bankim

  • Error 2147467259 DB Tools open connection

    I wrote a program in labview 2014 32 bit to pull data from a MS SQL Server database.  I used the 32bit ODBC datasource program to generate a DSN file.  The code works just fine when I run the VI from labview, but when I build the program and run the executable, I get an error: 
    ADO Error: 0x80004005
    Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. in NI_Database_API.lvlib:DB Tools Open Connec (String).vi->RecipeSelect.vi
    I created a UDL file with the labview "Create data link" tool and I still get the same error even though the VI runs fine.  I have also tried a connection string.  All the searches I have done on this error suggest a problem between 64bit and 32bit data sources.  I've tried creating them both ways and still get the same error, yet the VI always runs fine on the same computer from labview.
    Any suggestions on what to try next?  Thanks in advance.
    Solved!
    Go to Solution.

    The file path was hardcoded.  I tried running it on multiple machines with the same error.  I have since created a new project and started rebuilding the code from scratch.  I think something in my old files are corrupted as the new code is working after I build it.  *fingers crossed*  Thanks for taking the time to respond and try and help!  Much appreciated
    Edit:  I had tried changing so many things to get my project to work that I don't know what I might have messed up in the process.  Marking this as solved because the original problem is so convoluted it was likely my own mistake with the creation of the DSN/UDL file or maybe even a glitch with our SQL Server.  It has since been rebooted.

  • Db tools open connection.vi does not get password from dsn file

    I am

    The database is a Microsoft SQL server database.  Again, my IT group does not want the password hard coded into the application.  Their preference would be for the password to be extracted from the dsn.  I have tried both a file dsn and a system dsn which were created in the data sources app in control panel --> administartive tools.  Neither dsn works (unless I wire the password to the databse tools open connection vi).  Both dsn's work fine from the windows data sources application.  I have not been able to figure out how to attach graphics to a post on the board here, so I 'm not sure how to attach the error message (or my block diagram).  The text from the error message is below.  Wiring in the password causes the error to go away.
    Error -2147217843 occurred at DB Tools Open Connec (String).vi->DB Tools Open Connec (Path).vi->FindShiftNumber.vi
    Possible reason(s):
    Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'eslprodsproc'. in DB Tools Open Connec (String).vi->DB Tools Open Connec (Path).vi->FindShiftNumber.vi

  • Strange behaviour with ActiveX invoke node and Excel

    I want to send a table of numbers from LV50.1f to Excel97. After getting a
    reg to Excel8.Application I retrieve the Workbooks property, Invoke Item to
    select a certain Workbook reference, retrieve the Worksheets collection
    reference, Invoke Item and then get a reference to WORKBOOKS again.
    Strangely, there is an example code from the NI web site that does exactly
    the same, but in the last step a variant is returned in stead of a
    reference, which is converted using Variant to G to a Worksheet reference.
    when I copied that last invoke node to my VI I also had a variant returned,
    so on one diagram I had to invoke nodes connected to the same sources, one
    returning a ref, the other returning a variant!
    Disco
    nnecting the sources to my Invoke node and rewiring gave no change.
    Also type casting the ref to workbooks to a worksheets ref, didn't work - I
    get errors in the following property node that retrieves a Range - which
    exists in Worksheet, but not in Workbooks.
    Appearantly, LV gets the returned type mixed up sometimes, and there is no
    way to fix it other then copying a invoke node from another diagram?
    Finally I got it working though, but this behaviour puzzles me. Contrary to
    the example from NI, I now managed to send a table (2d array of strings) in
    one call to Excel (don;t need to loop over cells or columns).
    PS
    I used to do the same using DDE but ranges are different for each language
    version of Excel (i.e. R1C1 for English and R1K1 for Dutch), so my VI's need
    to know the language of Excel. Also with NT and Win98, getting a DDE
    connection often hangs LV. But a big progress has been made - now I need
    different VI's for each version of Excel!!!
    Ferry Toth
    Enraf BV, The Netherlan
    ds

    Hi Enric,
    Can you try your queries again using the new release of DB XML? It contains some improvements in this area.
    http://www.oracle.com/technology/software/products/berkeley-db/xml/index.html
    John

  • "Error 7 occurred at Invoke Node..." when attempting to open .vi for editing

    I am attempting to open a vi for editing, and instead the vi is attempting to execute.  I get the error:
     "Error 7 occurred at Invoke Node in BuildTargetBuildSpecification.vi->BuildXFS.vi"    
    Possible reason(s):   LabVIEW:  File not found. The file might have been moved or deleted, or the file path might be incorrectly formatted for the operating system. For example, use \ as path separators on Windows, : on Mac OS, and / on Linux. Verify that the path is correct using the command prompt or file explorer.
    Method Name: Project: Open
    When I close the Error Message dialog, Labview terminates.

    Hi R.Jay,
    Error 7 generally occurs when trying to create an executable when there is an extra instance of a top-level vi.  You may need to remove the file as a support file (but leave it as the top level vi).
    Are you trying to run an executable that has already been created?  Unless you have already built an executable, it should not automatically run when opened.  Also, was it built in a previous version of LabVIEW?  Sometimes this error can be seen when you upgrade to a newer version without compiling.
    Regards,
    Lauren
    Applications Engineering
    National Instruments

  • Frontpanel opened by Invoke Node blocks other FP

    Hello,
    In a project I am working on I would like to open and close a frontpanel displaying a few plots from a different VI. I have managed to create the Visualisation VI and am passing references to the Indicators and the VI itself on to the next block. I can open the FP by using an Invoke Node on the VI ref, but then I can only interact with the newly opened VI. To get back I have to close it by hitting X, I would prefer it if I could just have it running in the background or minimized once I click on my "main" Vi again. I have attached the required VIs.
    Solved!
    Go to Solution.
    Attachments:
    FP_Open_plots.zip ‏63 KB

    Hi,
    I can't see your code as I haven't upgraded to 2014 yet (shame on me ). Here is a Main VI that opens a Graph VI in two ways:
    1. Without running it, just by FP.Open. The main VI remains responsive. This is not really recommended but I think it was what you meant to do.
    2. (enable disabled diagram): by running the VI using the Run VI invoke node. In this way the Graph VI is called dynamically and the Main VI doesn't wait until it's done to continue.
    Good luck,
    Danielle
    "Wisdom comes from experience. Experience is often a result of lack of wisdom.”
    ― Terry Pratchett
    Attachments:
    Main VI.vi ‏11 KB
    Graph VI.vi ‏33 KB

  • Connection string (DB Tools Open Connection)

    All,
    I have been unable to pass a connection string to the "DB Tools Open Connection" function.
    The only way I've been able to get it to work is by passing in a FILE.DSN.  This method requires the creation of a DSN using the ODBC config tool.
    In .NET I can pass all my connection objects just a complete connection string and never touch the ODBC config tool. 
    Has anyone been able to do this with just a connection string?  I have not seen any examples on how to do this.  It seems like LabView requires a DSN in order to access a database.
    Thanks! 

    dave_helmut wrote:
    I suspect they use the same driver (installed on the OS), and the .NET environment is just more forgiving.
    That would not be a correct assumption. You typically specify which driver to use. In .NET I believe the default is to use the .NET Framework Data Provider, and the connectionstrings.com page shows that with that you can use the alternative syntax which looks like this:
    Standard Security alternative syntax
    This connection string produce the same result as the previous one. The
    reason to include it is to point out that some connection string
    keywords have many equivalents.
    Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
    LabVIEW would (obviously) not use the same driver.  By specifying Driver="{SQL Native Client}" you are indicating to use the Native Client ODBC Driver.

  • VI loaded with either Invoke Node or Call by Reference only functions properly when it is already open

    I have modified the Dynamic Loading example so that my case for the first button loads three VIs in succession, rather than one.  The first VI generates a waveform, the second uses this waveform to calibrate the measurement, and the last VI stops the waveform generation.  I discovered that the middle Calibrate.vi would only function properly if the Calibrate.vi was already open.  I attempted the VI loading of the Calibrate.vi with both the Call by Reference (identical to the example) and the Invoke Node method.  In both cases, the first and last VIs (Multitone Gen.vi and Stop Gen.vi) functioned properly, but the Calibrate.vi only worked correctly when it was already open.
    I have tried resetting the NI USB DAQ device and that hasn't helped.
    My search for answers has come up empty and I am hoping that someone in the forum might be of assistance.  I have attached a snapshot of each version of my code, both built off of the Dynamic Loading example.
    Thanks!!
    Attachments:
    Call by Reference.png ‏19 KB
    Invoked Node.png ‏21 KB

    Hello Anjelica,
    I do not receive any error messages when the middle VI is loaded and run.
    The Calibrate.vi acquires three separate corrections (Open, Short, Load), averaging results from a  number (N) of measurements, determined by the user.  When the VI is loaded and run correctly, information describing the multitone waveform generated by the first VI is first acquired.  Then the user selects each correction individually.  The corrections are made and averaged after N corrections, taking approximately 10 seconds per N.
    When the Calibrate.vi is malfunctioning, the multitone waveform information is not loaded and when a correction is selected, the indicator displaying the number of measurements performed (n of N where n = 0 to N) instantaneously displays N of N.  The correction measurements are not performed.  I have even tried using the Front Panelpen method and then running the middle VI and this results in the same malfunction unless the Calibrate.vi is already open.
    Though it is an obvious workaround, I can live with opening the Calibrate.vi via the Open VI Reference method outside of the while loop. This will be my solution for now.
    Thank you for your response.
    Attachments:
    Open Outside Loop.png ‏23 KB

  • Error 1172 occured at invoke node

    Hello
    I am new to Labview and object oriented programming. I have an already written c# code which communicates with a digital I/O card attached to a test system. I want to run those c# functions in labview. I am using .NET constructor pallett and then invoke node but I am receiving following Error:
    Error 1172 occurred at Invoke Node Error calling method DmmCSharp.Handler.Reset, (System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
        Inner Exception: System.Runtime.InteropServices.COMException: KtMDsr: A connection to the instrument has not been established.)
    Image file of error and vi file is attached below.
    Attachments:
    vi file.png ‏5 KB
    error.png ‏45 KB

    The clue is in the 'A connection to the device has not been established'. You are trying to reset the device - presumably without having first configured the appropriate parameters or opened connection to it so the library is probably throwing that error.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • Invoke node error

    Hi everybody,
    I'm using import invoke node to import a language file into my vi
    before running it but I receive an error. Error 1000 ocurred at invoke
    node in main.vi.....? The path I link to import invoke node is right
    but It generates this error. Why?
    I attach you the piece of code where the error is generated. Also I
    attach the vi that return the path to the import invoke node.
    Thanks,
    ToNi.
    Attachments:
    InvokeNodeError.JPG ‏60 KB

    hi there
    don't connect the "type specifier VI refnum" to the "Open Reference" function. Leave this connection blank. Then use the "Run VI" and "Get Control Value" methods. see attachment.
    Best regards
    chris
    CL(A)Dly bending G-Force with LabVIEW
    famous last words: "oh my god, it is full of stars!"
    Attachments:
    Strings IO LV 7.1.zip ‏19 KB

  • Invoke node (parallely working VIs in a library)

    Hello everyone,
    I am trying to evaluate a temperature sensor.To do that I have to monitor thermocouple readings.Thermocouple is connected to FP-TC-120 temperature module. Besides, I have to acquire data from an optical spectrum analyzer. I am using 3650.VI to monitor the temperature and 86140B Trace_Screen Capture(2).llb o trace the data from the OSA.
    I am trying to use Invoke Node VI to trace data from spectrum analyzer. To do that I specified the necessary file path as an input to the code. The problem is the necessary VI (Write Trace to File.VI) is inside of a llb. file and needs other codes to completely function.
    That's when I run the code, (and when the stability condition is met) the computer asks me to save the spectrum analyzer data to a file called trace.csv. When I press ok, it just saves an empty file with a header (Power(dbm) Wavelength (nm)). Apparently it works parallely with other VI. How can I make use of the VIs inside of a .llb file with invoke node VI or should I use other VI to do combine temperature monitor VI with data tracing VI.
    The second problem is with the stability criterion of temperature.In the attached VI, I check whether the thermocouple reading stays within 0.8 degree stability range for 900 seconds. I want to change this. I
    want to check the stability of the temperature by comparing the final data with the previous ones. Is there any specific VI that should be exploited to check the fluctuations of waveforms?
     Thanks a lot
    Solved!
    Go to Solution.
    Attachments:
    3650.vi ‏107 KB
    86140B Trace_Screen Capture(2).llb ‏143 KB

    deniz wrote:
    I tried to implement the first method you suggested. But i had trouble since I am just a beginner. Could you please be more specific in explaining the solution? I am stating the problem again. Once the stability criterion is met I want the case structure to execute on the increments of 30 second or so. How can I do that by using shift registers? I tried to do  what you suggested as in the code attached but it did not work. (I could not make the case structure dependent on two conditions)
    I understood what you wanted perfectly fine. You just didn't implement it correctly. See attached. Please revisit my comment regarding the Write To Spreadsheet File that already exists inside of the "Trace Xfer" VI.
    The other proplem is again about timing. The while loop execute only if the temperature value changes since it is dependent on FP Open sub VI.
    The while loop has no dependence on the FP Open VI other than waiting for the error cluster and Fieldpoint refnum. There is no dependence on the while loop executing only if the temperature value changes. The while loop continuously acquires data, so I do not understand your statement. 
    Thus, the elapsed time VIs that are inside of the loop does not progress at 1 second increments. Is there any way to set an elapsed time  that is independent of timestamp of thermocouple reading device? 
    They can't and won't. The Elapsed Time VIs simply tell you ... elapsed time. They have no bearing on how fast the loop runs. It seems as if you have contradictory requirements. Do you want to the loop to run once a second and record, or run at the advise rate and only do something once a second, or run at the advise rate and only do something if the temperature changes?
    Attachments:
    3650.vi ‏116 KB

  • Is it better to use Invoke nodes or property nodes to set/get control values?

    I have a series of VI's that run in parallel, each to manage different functions- pumping, sensing, a fluid flow model, an experiment generator/runner.
    These need to exchange data, which I am currently doing using invoke nodes (that are all in subVIs), using methods "Set control value" and "Get control value". I find that every now and then (perhaps 1% of the time) the data isn't exchanged correctly and therefore the system doesn't work. I can imagine how "set" could go wrong if they happen simultaneously, and can devise ways of preventing this. However, the "Get" method suffers from the same problem. This is a major problem, because I want to leave it running for several hours.
    I could in
    principle achieve the same thing using property nodes and find myself wondering if this might be more reliable. But I don't want to change over only to find it makes no difference!
    Can anyone advise?

    You can use some kind of syncronization such as queues, occurances, or notifiers but I think the easiest way would be to create and action engine. This was only one action can execute at a time avoiding a "race condition". Possibly a write action and a read action might help. You also can add queues or notifiers into this concept. hope this helps.
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

Maybe you are looking for

  • Re: Handling an exception in a superclass...

    Akos, When subclasses override ExecSQL(), do they call super.ExecSQL() before/after doing additional processing? If so, it makes sense to handle some generic exceptions in the superclass. If not, then your exception handlers will never be executed. F

  • Can't pair iPhone via Bluetooth

    Hey Guys, I have a new 11" Air which is incredible but for the life of me I can't get Bluetooth pairing to work with my iPhone 4 so I can tether. It pairs the device in System Preferences but I try to connect them I get to errors. If I connect from t

  • Cannot go back to 64-bit mode

    Not sure what I am doing wrong but when I back to the info panel to take CS5 back to 64-bit mode because some plug ins had been updated but the check box was no longer visible.  So I am in 32 bit mode and do not know how to get out.  Any ideas what I

  • Gmail - Safari 3.1 - Can not type a reply

    If I use 'Reply' to any email, the cursor appears in the correct position but as soon as I start typing the cursor disappears and no text appears. Note that I have tried with or without use of the shift key and the effect is the same. This is a dread

  • Can iPod be set to monophonic for people who are deaf in one ear?

    Thanks.