改变the Database Provider for theFME FlowDatabase
To change the database provider for theFME Flow Database, perform an “in-place” backup and restore procedure:
- Backup Your FME Flow Configuration
- Configure the New Database Server
- Configure the Database Connection
- Restart FME Flow
- Restore Your FME Flow Configuration
- Remove Dependency, Disable, and Stop the Previous Database Service
FME Flowsupports PostgreSQL, SQL Server, or Oracle databases.
Backup YourFME Flow配置
Perform a备份你的FME Flowconfiguration.
Configure the New Database Server
Run the necessary database configuration scripts and post-configuration scripts. Follow the steps inConfigure the FME Flow Database on a Separate Database Server.
Configure the Database Connection
Windows: <FME FlowDir>\FMEServer\Utilities\jdbc
Linux: /opt/fmeserver/Utilities/jdbc
Driver versions recommended: 12.1 (ojdbc7.jar), 12.2 (ojdbc8.jar), 18.3 (ojdbc8.jar), 19.3 (ojdbc8.jar), 19.3, 19.6, 19.7 (ojdbc8.jar).
Driver versionsnotrecommended: All ojdbc10.jar versions. For more information, seehttps://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html.
- Encrypt the database password you generated in the previous step. In an initial installation ofFME Flow在安装文件,这个密码是加密的by default. However, it is no longer encrypted when the database server is updated. Follow the procedure inEncrypting the FME Flow Database Password.
- Locate thefmeDatabaseConfig.txtconfiguration file.
- Under the heading ‘FME SERVER SETTINGS START’, locate the section titled 'Database Connection' and update the parameters for the database you want to use for your repository.
- Specify theintegratedSecurityproperty with theDB_JDBC_URLparameter.FME Flowuses theLog on ascredentials of theFME FlowCore andFME FlowApplication Serverservicesto connect to the SQL Server database. Do not set theDB_USERNAMEorDB_PASSWORDparameter values.
- Go to directory <FMEFlowDir>\Server\fme\ and complete the following:
- Locate the file with a name that begins mssql-jdbc-auth*.dll
- Copy the file to the <FMEFlowDir>\Server\lib\fmeutil\ directory.
- In the <FMEFlowDir>\Server\lib\fmeutil\ directory, rename the file to sqljdbc_auth.dll
Parameters
DB_TYPE - Identifies the database server: postgresql, sqlserver, oracle.
DB_DRIVER - The JDBC driver name used for connecting to the database.
DB_JDBC_URL - The JDBC URL used for connecting to the database.
DB_USERNAME - The database user name.
DB_PASSWORD - The database user password.
DB_CONNECT_EXPIRY - The database connection expiry time, in seconds.
DB_SQLSTMTS_PATH - The path to the SQL statement resource bundle.
Examples
DB_TYPE=postgresql
DB_DRIVER=org.postgresql.Driver
DB_JDBC_URL=jdbc:postgresql://localhost:5432/fmeserver
DB_USERNAME=fmeserver
DB_PASSWORD=fmeserver
DB_CONNECT_EXPIRY=60
DB_SQLSTMTS_PATH=C:/Apps/FMEServer/Server/database
To use a local installation of SQL Server Express
DB_TYPE=sqlserver
DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
DB_JDBC_URL=jdbc:sqlserver://localhost/SQLEXPRESS
DB_USERNAME=fmeserver
DB_PASSWORD=$FMEserver
DB_CONNECT_EXPIRY=60
DB_SQLSTMTS_PATH=C:/Apps/FMEServer/Server/database
To use a named instance of a SQL Server
Specify theinstanceNameproperty with theDB_JDBC_URLparameter:
DB_TYPE=sqlserver
DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
DB_JDBC_URL=jdbc:sqlserver://<ServerName>;databaseName=<database>;instanceName=<InstanceName>
DB_USERNAME=fmeserver
DB_PASSWORD=$FMEserver
DB_CONNECT_EXPIRY=60
DB_SQLSTMTS_PATH=C:/Apps/FMEServer/Server/database
To use a domain service account instead of a named database user orfmeserver(the default database username)
Complete the following steps:
DB_TYPE=sqlserver
DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
DB_JDBC_URL=jdbc:sqlserver://<ServerName>;databaseName=<database>;integratedSecurity=true
DB_USERNAME=
DB_PASSWORD=
DB_CONNECT_EXPIRY=60
DB_SQLSTMTS_PATH=C:/Apps/FMEServer/Server/database
To specify the database connection port
Specify the port after<ServerName>in theDB_JDBC_URLparameter. For example:
DB_JDBC_URL=jdbc:sqlserver://<ServerName>;port=1755;
To specify an Always On availability group
If using an Always On availability group, include theMultisubnetFailoverproperty with theDB_JDBC_URLparameter:
DB_JDBC_URL=jdbc:sqlserver://<ServerName>;databaseName=<database>;MultisubnetFailover=true
To specify an on-premise database with a System ID (SID)
Use the following syntax for theDB_JDBC_URLparameter:
DB_JDBC_URL=jdbc:oracle:thin:@<host>: <port>: <sid>
For example:
DB_TYPE=oracle
DB_DRIVER=oracle.jdbc.driver.OracleDriver
DB_JDBC_URL=jdbc:oracle:thin:@localhost:1521:orcl
DB_USERNAME=fmeserver
DB_PASSWORD=fmeserver
DB_CONNECT_EXPIRY=60
DB_SQLSTMTS_PATH=C:/Apps/FMEServer/Server/database
To specify an on-premise database with a service name
Use the following syntax for theDB_JDBC_URLparameter:
DB_JDBC_URL=jdbc:oracle:thin:@<host>: <port>/<servicename>
For example:
DB_JDBC_URL=jdbc:oracle:thin:@hostname.mydomain.com:1521/mydatabase1
To specify an Oracle Cloud database
Use the following syntax for theDB_JDBC_URLparameter:
DB_JDBC_URL=jdbc:oracle:thin:@<ip>: <port>/<servicename>
For example:
DB_JDBC_URL=jdbc:oracle:thin:@129.44.44.2:1521/orcl_iad2fd.mycorpz1.mycorp.myvcn.com
RestartFME Flow
Restartall of theFME FlowSystem Services.
Restore YourFME Flow配置
Perform arestore你的FME Flowconfiguration:
Remove Dependency, Disable, and Stop the Previous Database Service
If the database service from which you migrated is the PostgreSQL database that was included in a default installation ofFME Flow(such as an express install), you must remove the dependency of theFME FlowCore on that database, and then disable and stop it. For more information, seeRemoving the FME Flow Core Dependency on the FME Flow Database.