What is the best way to put LabVIEW DSC data into an Oracle database?

I have been collecting data using LabVIEW DSC 7.0 for several years and have always accessed the data from the Citadel database via the Historical Data Viewer.  I would now like to begin putting this data into an Oracle database.  My company stores all their data in Oracle and it would provide me all the benefits of their existing infrastructure such as automated backups, data mining tools, etc.
My initial thought is to use "Read Trace.vi" in LabVIEW to pull historical data from the citadel database at regular intervals (e.g. 1 minute) and insert this data into Oracle via ODBC.  In this way, I do not need to track the value changes in order to know when to write to Oracle.  I also considered replicating the citadel database using some other method, but I recall that the tables used by citadel are somewhat complicated.  I only need a simple table with columns for channel, timestamp, and data.  The "Read Trace.vi" will provide me data in this format.
I do not need to update the Oracle database in real time, a few minute delay is acceptable. If anyone has a better idea or additional insight please let me know. Thanks.

In terms of connectivity, you want to use ADO, not ODBC. Beyond that, it all depends on the structure of the data and what you are going to want to do with it. This is a very big question that you need to be getting some in-depth assistance.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

Similar Messages

  • What's the best way to load FieldPoint measurement data into PI System?

    I am finding the best way to load data collected by NI Field Point (FP2220) into the PI system of our power plant.
    I found pieces of information about FieldPoint OPC server in NI.com. Not sure if it comes with Field Point Hardware, sold by NI as a separate product or it is actually non-standard NI products. Anyway, I know that there exists a thing called FieldPoint OPC server.
    The PI system I mentioned has a OPC client software called PI-OPC interface. It is able to communicate with standard OPC DA server. If that FieldPoint OPC server is a standard OPC DA server provide data collected by Field Point complying to OPC standard, than that's perfect.
    Anyone familar with PI system and NI product, please help if the above is going to work or if there is a better way to put Fieldpoint data into PI.

    Hi Eric,
    This information really helpful, thanks. Regarding to the NI OPC server for NI FieldPoint, I have the other query.
    In my setup, there are two sets of FieldPoint located in two different locations on my ethernet network. They are going to be controlled by a single PC. If I am going to connect both my FieldPoint sets with OPC standard, how many NI OPC server for FieldPoint do I need to connect to? Are there two NI OPC servers each serves one FieldPoint set? Or there is only NI OPC server which serves both FieldPoint sets?
    I am concerning about the number of NI OPC server instances running, because the number of OPC client license I need to purchase depends on how many OPC server I need to connect to. If one NI OPC server serves both my FieldPoint sets, I only need to buy one OPC client license; otherwise, I need to purchase two. In the future, I am going to have another two sets of FieldPoint sets, so the answer of my query determines how many OPC clients I need to purchase eventually - One or four. A huge price difference.
    Looking forward to your reply.
    Regards,
    Roger

  • What is the best way of putting music onto another iphone?

    What is the best way of putting music onto another iphone for a different itunes account user and different phone carrier? multiple user accounts on my mac? or home sharing to put the music on? then they have their own itunes account for apps etc?

    Hi DVX100Shooter,
    Congratulations on getting your son a new iPad, I am sure he will enjoy it. 
    Family Sharing is one way of managing both purchases and content between members of a related group of people. Each member must have their own Apple ID. You can choose what music you wish to share with the family from your own account. See this article -
    OS X Yosemite: Share purchases with your family
    In particular the section titled Hide a purchase from other family members
    The music library on your son's iPad is separate from yours, but under Family Sharing you agree to pay for all purchases made through the iTunes store. If you wish to control what is purchased you can set up the Ask to Buy option for any family member under adult age in your location. See this article for details -
    Request and make purchases with Ask to Buy - Apple Support
    Gift cards may not be used for billing of purchases under family sharing, with the exception that a family member may use gift cards to purchase their own content. See this article for information about Family Sharing billing policies -
    Family purchases and payments - Apple Support
    The shared family photo album is available to all family members.
    Family Sharing - Apple Support
    Thanks for using Apple Support Communities.
    Best,
    Brett L 

  • What is the best way to put various songs into one album?

    I have been adding album information and album artwork within iTunes to take advantage of cover flow, but i have a lot of songs in my music library that are "stand alone" songs - it is the only song from that artist. I want to put all of these songs together in one album, so all of my miscellaneous rock songs will be put into a Rock Music album or file. I want to do this to eliminate all of the grey boxes within cover flow for all of these songs. When i give the files all the same album name (Rock Music) and album artist (Various Artists) it still does not put them all together within iTunes. It will do it for some, but not all.
    What is the best way to put all of these miscellaneous songs into the same album?

    Try marking all the tracks as part of a compilation. Click on the first track in your list, hold down the shift key and click on the last. Right click anywhere in the selection and choose Get Info, when you are asked if you want to edit multiple items say yes. Change compilation at the bottom of the window to Yes.

  • What is the best way to kill/stop a data load?

    Hi.
    What is the best way to kill/stop a data load?
    I have a data load from my QA R/3 system that is extracting 115.000.000+ records. The problem is that the selection in the function module used in the data source does not work, and the problem was not detected because of the nature of the data on the development system.
    I could kill processes owned by my background user (on both R/3 and BW) but I risk killing other loads, and sometimes the job seems to restart if I just try to kill processes. If I remove transactional RFCs in SM58 the load does not terminate; I only skip one or more datapackages. I have also tried to change the QM-status in the monitor to red, but that does not stop the load either...
    So isn't there a nice fool-proof way of stopping a dataload?
    Best regards,
    Christian Frier

    Hi,
    There r 2 ways to kill the job.
    One is using transation RSMO locate the job and display the status tab double click on the yellow light that is shown on the line total, a pop will come 'set overall status ' is displayed select the desired status that is red and save it. Then return to the monitor page and select the header tab double ckick on the data target right click and then goto 'manage',there should be request sitting there probably with yellow lights , highlight the line with the faulty request click the delete button then click refresh button.
    Second is goto SM37 and click on the active selection and enter the jobname and then click excute the particulr job should appear highlight the jobname then click on the stop iconthat appears on the taskbar( 3 rd from left)
    hope it is clear.
    Regards-
    Siddhu

  • What is the best way to merge a file content into log file

    What is the best way to merge a file content into log file.
    In worst case, I will read the file line by line as string, then use
    logger.info(lineString)to output to log file.
    However, is there better way to do this?
    The eventual log file will be something like:
    log message 1
    log message 2
    content from file line 1
    content from file line 2
    content from file line 3
    log message 3
    log message 4Thanks

    John618 wrote:
    Thank you and let me explain:
    1. What do you mean by better?
    I would like to see better performance. read line by line and log each line as string can be slow. Did you measure this and determine that it is actually a problem for your application? Or are you guessing?
    Regardless of what you do you are still going to need to read the file.
    >
    2.The only better way I can think of is not having to do it, but I assume you have a very good reason to want to do this.
    Yes, I have to do it beacuse the requirement is to have that file content be part of logging.
    Any idea?How is it supposed to be part of it? For example which of the following is better?
            File AAA - contents
                       First Line
                       Second Line XXX
            Log 1
                    2009-03-27 DEBUG: Random preceding line
                    2009-03-27 DEBUG: First Line
                    2009-03-27 DEBUG: Second Line XXX
                    2009-03-27 DEBUG: Random following line
            Log 2
                    2009-03-27 DEBUG: Random preceding line
                    2009-03-27 DEBUG: ----- File: AAA -------------
                    First Line
                    Second Line XXX
                    2009-03-27 DEBUG: Random following lineBoth of the above have some advantages and disadvantages.
    The first in a mult-threaded app can end up with intermittent log entries in between lines, so having log lines with thread ids becomes important.
    The first can be created by reading one line at a time and posting one at a time.
    The second can be created by reading the entire file as a single string and then posting using a single log statement.

  • What's the best way to convert a current website into a Fluid Grid Laout?

    As the title says....
    What's the best way to convert a current website into a Fluid Grid Laout?

    See "Using Fluid Grid Layouts (video)"
    http://tv.adobe.com/watch/learn-dreamweaver-cs6/using-fluid-grid-layou ts/
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists 
    http://alt-web.com/
    http://twitter.com/altweb
    http://alt-web.blogspot.com/

  • What is the best way to stack DAQ aquired data in labview?

    I'm developing an application to work with an M-series daq card and labview 8.5 to output a signal and then record on 8 differential inputs for a short period of time (~10 ms). I need to stack my data, however, because the incoming signal will be very, very small, even after amplification. So basically i'm running a slightly modified version of the multifunction Synch AI-AO.vi (included with the install of daqmx). What is the best way for me to rerun this vi a set number of times and add new data directly to the old data (not cat-ing or anything, like |sample 1 of run 1| + |sample 1 of run 2| = stacked stample 1).
    A slightly modified version of the mutlifunction synch AI-AO.vi is attached.
    Attachments:
    des_v2_Multi-Function-Synch AI-AO.vi ‏143 KB

    Hi LSU,
    see attachment on how to "stack" several measurements. I simply add the waveforms and use a shift register to keep the last iterations value.
    Writing to files in each iteration is extremly CPU consuming - especially with express vis. Using for loops for just one iteration is "senseless". You could enable the conditional terminal of the for loop to realize your stop feature.
    For your message 4:
    Have you ever tried all the things you asked for? Sometimes it's easiest to just try&error
    And for the "n=n+x" question: It really helps to take the free online courses offered by NI!
    Message Edited by GerdW on 11-11-2009 06:27 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome
    Attachments:
    des_v2_Multi-Function-Synch AI-AO.vi ‏128 KB

  • What is the best way to put a movie on a DVD?

    I want to put my movie on a DVD and show it on the TV. What is the best way to do this?

    Yes, you can put more than one movie on a DVD, as long as the total length of both together is not over 2hrs for single-layer DVDs.
    I know what you mean about it taking so long for the burning....my DVDs are usually just close to 2hrs, so taking 12-14hrs to burn is not unusual for me. I just do it overnight, and it is finished in the morning. I 'save to disc image' first, and then do the burning from Disk Utility.
    Trust me, I've tried everything I can think of to be able to.
    I am surprised that you cannot get your movies exported back to DV tapes with your camcorder. I looked up its specs, and it shows it has Firewire port, so you should be able to export. I would pursue this further....
    Have you tried saving your movies as QuickTime Full-Quality and then importing that into a new iMovie and exporting that? You will need to have more free space to copy the movie, but once you have made the QT movie, you can delete the original one, and you can delete the QT one after the export. Also, it may take a LOOOONNNGGG time for the compression/process necessary to create the QT movie, and somewhat long for the import into iMovie, but I have found that iMovies that would not export to my camcorder in their original form exported easily after I made the QT one.

  • What is the best way to put links in an image?

    I have created an image with multiple layers and many of the
    layers are the text I would like to use as links. When I sliced up
    the image using layer based slices, the end result was a degraded
    image.
    The page I am working on with the slice marks affecting it
    can be seen at:
    http://www.gigharborrealestate.com/ingigharbor/testpage.htm
    What is the best way to create a series of links in an image?
    The jpeg version of the image I am working on is at:
    http://www.gigharborrealestate.com/ingigharbor/image/form-banner.jpg
    The psd version of the image I am working on is at:
    http://www.gigharborrealestate.com/ingigharbor/image/form-banner.psd
    The html version is at:
    http://www.gigharborrealestate.com/ingigharbor/test.html
    I can't wait to hear from you experts as to the best way to
    do this!
    thanks,
    Mike

    Where did you get this page? It is a melange of ImageReady,
    GoLive, and who
    knows what else, loaded with invalid usages, and other
    oddities....
    Anyhow, the first link shows me no slice marks - what am I
    looking for
    there?
    Normally, one would use an image map (use DW's F1 help to
    look for
    "hotspot") to do something like this.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "egigharbor" <[email protected]> wrote in
    message
    news:elt2fc$og2$[email protected]..
    >I have created an image with multiple layers and many of
    the layers are the
    > text I would like to use as links. When I sliced up the
    image using layer
    > based
    > slices, the end result was a degraded image.
    >
    > The page I am working on with the slice marks affecting
    it can be seen at:
    >
    http://www.gigharborrealestate.com/ingigharbor/testpage.htm
    >
    > What is the best way to create a series of links in an
    image?
    > The jpeg version of the image I am working on is at:
    >
    http://www.gigharborrealestate.com/ingigharbor/image/form-banner.jpg
    >
    > The psd version of the image I am working on is at:
    >
    http://www.gigharborrealestate.com/ingigharbor/image/form-banner.psd
    >
    > The html version is at:
    >
    http://www.gigharborrealestate.com/ingigharbor/test.html
    >
    > I can't wait to hear from you experts as to the best way
    to do this!
    >
    > thanks,
    >
    > Mike
    >

  • What's the best way to handle all my data?

    I have a black box system that connects directly to a PC and sends 60 words of data at 10Hz (worse case scenario). The black box continuously transmits these words, which contain a large amount of data that is continuously updated from up to 50 participants (again worst case scenario) 
    i.e. 60words * 16bits * 10Hz * 50participants = 480Kbps.  All of this is via a UDP Ethernet connection.
    I have LabVIEW reading the data without any problem. I now want to manipulate this data and then distribute it to other PCs on a network via TCP/IP.
    My question is what is the best way of storing my data locally on the interface PC so that I can then have clients request the information they require via TCP/IP. Each message that comes in via the Ethernet will relate to one of the participants, so I need to be able to check if I already have data about that participant - if I do then I can just update it, if I don't I need to create a record for the participant, and if I havn't heard from one for a while I will need to delete it. I don't want to create unnecessary network traffic. I also want to avoid global variables if possible - especially considering that I may have up to 3000 variables to play with.
    I'm not after a solution, just some ideas about how to tackle this problem... I thought I could perhaps create a database and have labview update a table with the data, adding a record for each participant. Alternatively is there a better way of storing all the data in memory besides global variables?
    Thanks in advance.

    Hi russelldav,
    one note on your data handling:
    When  each of the 50 participants send the same 60 "words" you don't need 3000 global variables to store them!
    You can reorganize those data into a cluster for each participant, and using an array of cluster to keep all the data in one "block".
    You can initialize this array at the start of the program for the max number of participants, no need to (dynamically) add or delete elements from this array...
    Edited:
    When all "words" have the same representation (I16 ?) you can make a 2D array instead of an array of cluster...
    Message Edited by GerdW on 10-26-2007 03:51 PM
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • What is the Best way To Copy and paste data from 1 book to another

     I have 18 sheets in 5 different books that I want to extract data from specific cells.  What is the best way to do this?  Example:  1 sheet is called Numbers E-O1 data in 13:WXYZ. The data updates and moves up 1 row every time I enter
    a new number. So let's say I enter the number 12. Through a lot of calculations the output goes in 13:WXYZ. To what I call a counter which is a 4 digit number.  Anyways, how can I send that 4 digit number to a totally different sheet?  To bullet
    what I'm talking about
    data in cells Row 13:WXYZ in book called Numbers sheet E-O1
    send data to book called "Vortex Numbers" Sheet E-O row 2001:CDEF
    What formula or Macro can I use to make this work?
    thank you!

    Hello Larbec,
    Syntax:
    '[BookName]SheetName'!Range
    Enter in cell  2001:CDEF:
    ='[Numbers]E-O1'!13:WXYZ
    This assumes that the file is open in Excel. Otherwise you need to add the path:
    'ThePath[BookName]SheetName'!Range
    Best regards George

  • What's the best way to detect that text fits into ContainerControllers without scrolling?

    Hi.
    Question
    What's the best way to detect that text typed by user (or added programmatically) exceeds available container space and find out where starts truncated part? Is there available some other (than described bellow) easy way to detect it or disallow set of controllers to receive more characters that can be displayed in given composition area?
    My partialy failed attempt (simplified)
    For example lets say that I've got an editable textflow with attached two instances of ContainerController.
    var flow:TextFlow = createSomeFlowFromGivenString(sampleText),
        firstController = new ContainerController(firstSprite, 100, 30),
        lastController = new ContainerController(secondSprite, 600, 30);
    flow.interactionManager = new EditManager(new UndoManager());
    flow.flowComposer.addController(firstController);
    flow.flowComposer.addController(lastController);
    flow.flowComposer.updateAllControllers();
    With enabled vertical scroll policy I can compare height of the composition in last controller with height of the content:
    var bounds:Rectangle = lastController.getContentBounds(),
        overflow:Boolean =  lastController.compositionHeight < bounds.height;
    trace('Content does not fit into given area?', overflow)
    But when I switch vertical scroll policy off (lastController.verticalScrollPolicy = ScrollPolicy.OFF) - unfortunately this no longer works...(In my case scrolling should be dissabled, since text areas might have only one line with restricted width)
    Use case
    I want to create fillable form. Field might have a single or multiple lines. One field might start in the middle of the page, continue in the next line where it spreads through whole page and end in the - quarter of page width long  - third line. Text typed by the user can't exceed given area since it might cover some static text that sits right after/below field.
    Something like ascii image bellow:
    |                <PAGE>                    |
    |                                          |
    |                                          |
    |                                          |
    |               [Field starts here........ | 
    | ........................................ |
    | ........................................ |
    | Ends here..]                             |
    |                                          |
    |                                          |
    | [Another field] xxxx  xxxx xxxxxxxx x xx |
    | xxxxxxxxxxxxxxxxxxx                      |
    |                                          |
    |                              [One more.. |
    | .....]                                   |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    |                                          |
    Info:
    [......]  <-- form fields starts with '[' character, and ends with ']'
    xxx       <-- sample, static text
    | and _   <-- page borders

    I've tried something like that previously, but it didn't work because then I've got vertical scroll policy to set to 'auto'. After changing verticalScrollPolicy to ScrollPolicy.OFF  in the last container it worked like a charm.
    Thanks zhen bian

  • What is the best way to plug my iPhone 5 into a mixer for live music performances?

    I'm thinking of performing live with my iPhone 5 or maybe an iPad that I haven't bought yet. What is the best way to get the sound for the device to a mixer or PA? I'm wondering if anyone has any experience with wireless options. I'm wondering if it is stable enough for live performance. There doesn't seem to be any audio interface options yet.

    there is always the 3.5mm minijack out connector sure it's analogue but a cable with male minijack in 1 and and 2 rca in the other would work with most mixers and or pa's

  • What is the best way to organize LabVIEW VIs to be used with TestStand?

    I'm using LabVIEW 8.6 with TestStand 4.1.1 and I'm trying to organize the VIs to later deploy them to a production PC. So, I organized them into a LV project and built a LLB with the "Source Distribution Tool". (Destination type: LLB)
    Some VIs in the LLB use the "Call Library Function" (user32.dll) to simulate keyboard events. But, when any of these VIs is called from TS, LabVIEW is suddenly terminated. When these same VIs are not in the LLB and are called from TS they do not have any problem.
    Is the LLB the best way to organize VIs to be used with TestStand? If so, What could I be doing wrong?
    I appreciate your help.
    H.P.
    Mfg. Test Engineer
    Certified LabVIEW Associate Developer
    Attachments:
    LabVIEW Problem.JPG ‏28 KB

    Hi Ray,
    I really appreciate your intention to help, but I believe I solved the problem already. However I still have some questions.
    The problem was that when I built the LLB the configuration of the "Call Library Function" changed. When the LLB is built it is also created a Support Directory named "data" that contains some dependencies including a new copy of the user32.dll. The "Library name or path" field in the "Call Library Function" changed to be linked to a new Dependency Path. ( ...\data\user32.dll.)
    What I did was select "Specify path on diagram" and create a path-constant ("C:\WINDOWS\system32\user32.dll"), so the "Call Library Function" will be always linked to the original user32.dll.
    I still don't know why the "Call Library Function doesn't work with the user32.dll copy in the New Dependency Path. And I'm not sure if the LLB is the best way to organize VIs to be used with TestStand.
    Do you know why?
    Thank you,
    H.P.
    Mfg. Test Engineer
    Certified LabVIEW Associate Developer

Maybe you are looking for