I have just started to work with FactorySQL.
I am doing an inhouse test before I shall implement a project at a customer.
The inhouse test is with a Sybase database (which we happen to use for our products), and the customer database will be Oracle.
The inhouse test works partially.
From DB to OPC, data is transferred. I get a “translator not found” but it works. There is a green “RUN” indicator on the group.
From OPC to DB, data is NOT transferred. I also get the “translator not found”. There is a red exclamation mark on the group.
What can I do about this problem ?
I suppose that it will not be a problem at the endcustomer since there is a translator for Oracle. But it is important for me to run a full test before I go to the customer.
From control panel->administrative tools->odbc please select the drivers tab and post the exact name and version.
We need to modify a “translator” definition for your connection type. This is what tells FactorySQL how to put queries together for a given database type. It appears that the following translators are installed by default: Access, EnterpriseDB, Firebird, MySQL, Oracle, PostgreSQL, and SQL Server - not Sybase.
The fix should be a matter of copying a small text file to program files->Inductive Automation->FactorySQL->database.
edit - You could also try using a “native” “SQL Server” connection. SQL Server and Sybase should be syntactically similar. The port is probably 4100 or 7100 instead of 1433.
I just made a test with the native SQL Server driver.
When testing I then get “A connection was succesfully established, but then an error occurred during the login proces (provider: TCP provide, error: 0 - An existing connection was forcibly closed by the remote host).” Maybe it has to do with Sybase and SQL Server differences ?
The log file error says:
“The database translator cannot be found for connection [‘test_hhf’]
at FactorySQL.Groups.StandardGroup.DBItemExecutionCollection.GetWriteCommand()
at FactorySQL.Groups.StandardGroup.DBItemExecutionCollection.WriteData()
at FactorySQL.Groups.FSQLGroup.InternalExecute(EvaluationToken EvalToken)”
rename the file to: Sybase.xml (forum wouldn’t let me upload that extension)
Copy the file to program files->Inductive Automation->FactorySQL->database
Disconnect or close the frontend then restart the FactorySQL service
edit - Even if it does work, I’ll need to go through the config to make sure that each setting is correct. In particular, I’m not sure what does. Sybase.txt (2.11 KB)
I have copied the file into the directory and renamed it to Sybase.xml.
Is there a function to restart the service, or shall I locate it in the list of running services ?
No problem - I’ll leave it up to the experts to correct all the XML details for a “production” version. You can open it up if minor things don’t work right - creating/listing tables, etc. You’re not going to get intermittent problems - either the query syntax is correct or it’s not.