How does AF become aware of available DB drivers when setting up linked tables? Need to use Oracle driver but AF does not show it as a provider.
AF disable available drivers on your system based on pre-installed (32 or 64 bit). If you are planning to use oracle then would request you to install oracle 32 bit or 64bit client. Once installed you can see the same in PI AF link table (build --> Provider list). Please make sure you are using right version of AF and Oracle driver (32 vs 64bit)
If you are doing your configuration with PSE on a different machine from the AF Server, you will have to install the Oracle driver on the configuration machine as well as the AF Server machine. Or you can just perform the configuration with PSE on the AF Server machine so that you just need to do one installation.
Thank you @Eugene, Missed this point initially.
The 'bitness' of the driver is especially important to look for. Setting up a table lookup in a 32bit PSE, and then wondering why 64bit Analytics isn't working, or vice versa with 32bit PI applications.
Ok. Getting closer once I better understood what was being asked for and was able to successfully create/test a new table link from PSE on the test AF server I was using. When I tried to created a linked table, I got this error:
The 'OraOLEDB.Oracle.1' provider is not registered on the local machine.
From Event log found this:
Function System.String FillDataSetWithColumnDefs(Int32, OSIsoft.AF.Service.dcObjectIdentity, System.String, System.Guid, OSIsoft.AF.Service.dcTableColumnDef, OSIsoft.AF.Service.dcServerError ByRef) at line: 0 in file
System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at OSIsoft.AF.Service.AFService.CreateDataAdapter(CallContext callContext, String strDataAdapterType, String strConnection, String strCommand, Byte& password)
at OSIsoft.AF.Service.AFService.FillDataSetCommon(CallContext callContext, String dataAdapterType, String connection, String command, Boolean impersonateUser, Byte encryptedPassword, dcTableColumnDef tableColumnDefs, dcTableParameter parameters, Dictionary`2 defaultParameters, dcServerError& err)
at OSIsoft.AF.Service.AFService.FillDataSetWithColumnDefs(Int32 clientVersion, dcObjectIdentity objectID, String machineName, Guid versionID, dcTableColumnDef tableColumnDefs, dcServerError& err)
Operation = 0
ErrorNumber = -2
Message = ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
ObjectType = 43
ID = 2c5a5301-23d6-4583-bcf6-4b3782075352
ObjectName = Table1
Not sure where the disconnect is here.
I would try to get as much items out of the chain as possible to find the culprit. I would suggest to try and setup an ODBC connection to Oracle using the windows ODBC manager. If a connection works through that way, then make the next step to PSE.
There are some pointers to Oracle in the documentation: https://customers.osisoft.com/s/knowledgearticle?knowledgeArticleUrl=KB01728 and Microsoft OLE DB Provider for Oracle
You can try following option during installation.
Note : Oracle driver to be installed on AF server
Select depending your requirement :
After installing, request you to configure TNS (tnslistener.ora) using wizard and test connection.
Retrieving data ...