06-01-2018 02:40 PM
I am using the linux-based cRIO-9068 to send out MySQL database updates and inserts to a local BSD box running MariaDB. From there, it's using SymmetricDS to sync up with a cloud database hosted on AWS. The RIO's eth0 NIC is connected to a network switch to talk to a TPC and also a Win10 laptop that run instances of the UI. This is all currently link-local.
We've been using the SAPHIR Gdatabase MySQL toolkit as a platform-independent workaround to using the ODBC-based built-in LV toolkit. When I can establish a connection to the BSD box's database, it works great. I really don't think this is a Gdatabase problem, but a connectivity problem. I have been using the eth1 port because it can utilize a different IP scheme or get assigned one via DHCP at the BSD box's discretion. Whenever I can't connect, I receive either one of two errors:
- Error 59: (the network is down, unreachable or has been reset).
- Error 63 (occurred at TCP Open Connection in MySQLVIEW.lvlib:MySQLNetworkStream.lvclass:Open.vi->MySQLVIEW.lvlib:MySQLConnector.lvclass:Open.vi->GDatabase_TestVI.vi->RT_Target.vi
Possible reason(s): LabVIEW: Serial port receive buffer overflow. LabVIEW: The network connection was refused by the server.
Could this have anything to do with the communication being over eth1, or the VIs in the toolkit not knowing to use it?
eth0 ip settings:
169.254.0.1
255.255.255.0
eth1 ip settings:
192.168.1.99
255.255.255.0
gateway is 192.168.1.1
dns 8.8.8.8
Sometimes it will work, sometimes it doesn't. Very inconsistent results. Yesterday during our tests, it never worked and I only received the aforementioned errors.
Thanks!
06-10-2018 07:33 PM
It calls my attention that the ports of your cRIO are configured not in different subnets but in different networks. I am not pretty sure if this is fully supported.
To verify this is a connectivity problem, I would recommend you check this link and follow the described steps to make sure your ethernet ports are properly configured.
Then, the following KBs describes possible causes of the error 59 and some possible solutions to it.
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019OuKSAU
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019RGrSAM
You could try to develop a project where you only try to send a message through TCP/IP to the BSD box without implementing any database connectivity and check if you still get this error.
Warm Regards,
Gustave