02-19-2018 03:47 PM
Hello all,
I hope this is a really stupid question. I've built an application that writes data to an access database that resides on the company network. The .udl file sits in the same folder as the database (on the network). The path reference for the .udl file, goes all the way back to the root server (ex. \\Servername\folder\subfolder\dbconnect.udl) so that path should work on any computer on the network (as long as the user has the proper permissions). The .exe works on my development system, but when it has been installed on any other computer, the data is not written to the database. Another odd behavior is that the application will not throw an error. Any help at all would be appreciated. I'm running windows 10 64bit, LabVIEW 2016 32bit.
Regards,
Mike
Solved! Go to Solution.
02-19-2018 03:58 PM - edited 02-19-2018 03:59 PM
Permissions and UNC paths are a tricky beast at the best of times. Things that I would do (in order):
02-20-2018 04:07 AM
How are you handling errors in your program?
02-20-2018 07:17 AM
tyk007,
1) I have tried saving the UDL locally using a reference to the application location, without success.
2) I will try this.
3) No can do, every thing about this has IP implications.
My suspicion is that I'm missing a driver on the host machines... Are there any additional installers that I should be including?
Thanks for your suggestions.
02-20-2018 08:16 AM
@MichaelSte wrote:
tyk007,
My suspicion is that I'm missing a driver on the host machines... Are there any additional installers that I should be including?
Perhaps you are missing an OBDC driver for Access on your other machines.
Include some reasonable error handling in your application that tells you if something is not working perhaps than you will learn what's the cause for your problems.
Regards, Jens
02-21-2018 08:08 AM
Yes, this was it. Dkfire's comment made me realize that I was doing absolutely no error handling. I fixed that, and found that I was throwing an error at "open connection". After some more troubleshooting, I decided to have that VI prompt me for connection information, rather than tell it where to find the .udl. When I did this I found that the OLE DB provider that is being used in the .udl file was not available for selection...
The funny thing is, I could open the .udl and the correct provider would appear, and the connection test would pass! If I went through LabVIEW to make the connection on that computer, the Microsoft office 12.0 Access Database Engine OLE DB Provider was not available. My colleague who is doing all the DB work, found that it isn't available in the 2010 Microsoft Database engine drivers, but that we needed to get it from the 2007 Office system driver : Data connectivity components.
Once that was installed. Everything worked fine. In case you're wondering, the machine was running 32 bit Office 2016 on a 64-bit Windows 10 machine.
Thank you for everyone's help!
02-21-2018 02:09 PM
I suspect that you have the 64-bit database driver installed, and that is the one used when editing the udl file.
Make sure that you select 32-bit drivers when you run LabVIEW 32-bit
02-01-2021 02:50 PM
Thank you.
That is the correct answer.