Dear SAP experts,
I have problem with with setup external database (DB2) for SAP Mobility Platform 3.0. When i execute command
java -jar com.sybase365.mobiliser.vanilla.standalone-<version>-scriptarchive-db2.jar -c dbmaintain.properties.db2 -u <dbusername> -p secret
There was an error appeared. the error is like below:
| _ \ ___ \ \/ | (_) | | (_)
| | | | |_/ / . . | __ _ _ _ __ | |_ __ _ _ _ __
| | | | ___ \ |\/| |/ _` | | '_ \| __/ _` | | '_ \
| |/ /| |_/ / | | | (_| | | | | | || (_| | | | | |
|___/ \____/\_| |_/\__,_|_|_| |_|\__\__,_|_|_| |_|
Using dbmaintain.properties from dbmaintain.properties.db2
Property database.driverLocation not set in dbmaintain.properties, so assuming that jdbc driver is on classpath or bundled inside scriptarchive
Creating data source. Driver: com.ibm.db2.jcc.DB2Driver, url: jdbc:db2://<myhostname>:<myport>/sid, user: dassid, password: <not shown>
Exception in thread "main" org.dbmaintain.database.DatabaseException: Unable to connect to database. Could not create connection for database url: jdbc:<myhostname>:<myport>/sid, user name: dassid, password: <not shown>
at org.dbmaintain.datasource.SimpleDataSource$SimpleDataSourceInvocationHandler.getDatabaseConnection(SimpleDataSource.java:132)
at org.dbmaintain.datasource.SimpleDataSource$SimpleDataSourceInvocationHandler.invoke(SimpleDataSource.java:113)
at com.sun.proxy.$Proxy0.getConnection(Unknown Source)
at org.dbmaintain.database.IdentifierProcessorFactory.determineStoredIdentifierCase(IdentifierProcessorFactory.java:80)
at org.dbmaintain.database.IdentifierProcessorFactory.createIdentifierProcessor(IdentifierProcessorFactory.java:51)
at org.dbmaintain.database.DatabasesFactory.createDatabase(DatabasesFactory.java:79)
at org.dbmaintain.database.DatabasesFactory.createDatabases(DatabasesFactory.java:62)
at org.dbmaintain.MainFactory.getDatabases(MainFactory.java:167)
at org.dbmaintain.MainFactory.createFactoryWithDatabaseContext(MainFactory.java:147)
at org.dbmaintain.MainFactory.createInstance(MainFactory.java:132)
at org.dbmaintain.MainFactory.createDbMaintainer(MainFactory.java:97)
at com.sybase.dbmaintain.DbMaintainExecuter.main(DbMaintainExecuter.java:192)
Caused by: com.ibm.db2.jcc.am.SqlNonTransientConnectionException: DB2 SQL Error: SQLCODE=-1639, SQLSTATE=08001, SQLERRMC=null, DRIVER=4.11.77
at com.ibm.db2.jcc.am.gd.a(gd.java:666)
at com.ibm.db2.jcc.am.gd.a(gd.java:60)
at com.ibm.db2.jcc.am.gd.a(gd.java:127)
at com.ibm.db2.jcc.am.lb.a(lb.java:4592)
at com.ibm.db2.jcc.t4.ab.q(ab.java:713)
at com.ibm.db2.jcc.t4.ab.o(ab.java:565)
at com.ibm.db2.jcc.t4.ab.k(ab.java:360)
at com.ibm.db2.jcc.t4.ab.c(ab.java:136)
at com.ibm.db2.jcc.t4.b.ad(b.java:1266)
at com.ibm.db2.jcc.t4.b.b(b.java:1185)
at com.ibm.db2.jcc.t4.b.a(b.java:5492)
at com.ibm.db2.jcc.t4.b.d(b.java:740)
at com.ibm.db2.jcc.t4.b.c(b.java:682)
at com.ibm.db2.jcc.t4.b.a(b.java:367)
at com.ibm.db2.jcc.t4.b.<init>(b.java:307)
at com.ibm.db2.jcc.DB2SimpleDataSource.getConnection(DB2SimpleDataSource.java:214)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:460)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.dbmaintain.datasource.SimpleDataSource$SimpleDataSourceInvocationHandler.getDatabaseConnection(SimpleDataSource.java:130)
... 11 more
I have installed the DB2 with non-root installation (using db2sid) and username for db is dassid.
when i created the database with executed 001_SMP3_drop_and_create_user.DDL file for DB2. i have replaced:
○ smp3 -> sid.
○ gomobile -> dassid.
based on sap documentation i have changed some part in dbmaintain.properties.db2 file like below:
### Database connections ###
database.dialect=db2
database.driverClassName=com.ibm.db2.jcc.DB2Driver
database.url=jdbc:db2://<myhostname>:<myport>/sid
database.userName=dassid
database.schemaNames=dassid
database.password=secret
in some reference suggest me to check the database authentication using command:
db2 connect to test user dassid using secret
SQL1639N The database server was unable to perform authentication because
security-related database manager files on the server do not have the required
operating system permissions. SQLSTATE=08001
Please help to give me suggestion to solve this problem.
Thanks & best regards,
Husin