Gim Server can not start, since invalid object name error.

Hi, guys,

I can’t start my gim infomart server, the error log show
invalid object name STG_SCHEMA_INFO, SCHEMA_INFO, but I checked DB, STA_SCHEMA_INFO is in staging db, SCHEMA_INFO is in INFORMART db.
Then, why still show me these invalid object name error?

2009-01-03 18:03:02,312 INFO main 55-30035 “Completed initializing DAP ‘DAP_JDBC_Staging’ for role(s) ‘STAGING’.”
2009-01-03 18:03:02,640 WARN main 55-20003 "Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name ‘sa.STG_SCHEMA_INFO’.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteCursored(SQLServerStatement.java:1824)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:760)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:685)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:620)
at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)
at com.genesyslab.gim.etl.GimDBHelper.checkDBSchemaVersion(GimDBHelper.java:1292)
at com.genesyslab.gim.etl.manager.GimSystem.validateStagingVersion(GimSystem.java:245)
at com.genesyslab.gim.etl.manager.GimSystem.validateVersions(GimSystem.java:265)
at com.genesyslab.gim.etl.manager.GIMServer.runIt(GIMServer.java:1417)
at com.genesyslab.gim.etl.manager.GIMServer.main(GIMServer.java:1378)

2009-01-03 18:03:08,218 INFO main 55-30035 “Completed initializing DAP ‘DAP_JDBC_Infomart’ for role(s) ‘INFO_MART’.”
2009-01-03 18:03:08,375 WARN main 55-20003 "Exception: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name ‘sa.SCHEMA_INFO’.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteCursored(SQLServerStatement.java:1824)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:760)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:685)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:620)
at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35)
at com.genesyslab.gim.etl.GimDBHelper.checkDBSchemaVersion(GimDBHelper.java:1292)
at com.genesyslab.gim.etl.manager.GimSystem.validateInfoMartVersion(GimSystem.java:257)
at com.genesyslab.gim.etl.manager.GimSystem.validateVersions(GimSystem.java:266)
at com.genesyslab.gim.etl.manager.GIMServer.runIt(GIMServer.java:1417)
at com.genesyslab.gim.etl.manager.GIMServer.main(GIMServer.java:1378)

How is the schema owner? GIM is looking for sa.STG_SCHME_INFO. If sa is not the owner of the GIM schema, then it won’t find thet objects it needs. Please check your DAP configuration, look for ‘default-schema’ option.

Regards,
Franklin.

Since I created database and executed initialization script using User sa, I’m not sure if I should add the configuration ‘default-schema’ ?
Because I found the description about default schema in gim deployment document as follow:
Specifies the database schema or owner name if it is different from the database user ID. If you do not specify this option, the database tables and other database objects are assumed to be owned by the user name you specify on the DB Info tab.

1 Like

For MSSQL the default owner is dbo not sa. So you should specify dbo in the default_schema option.

To verify that you may run these two queries and you will notice the difference:

select * from sa.STG_SCHEMA_INFO —> This will throw the same error message you’re getting now.

select * from dbo.STG_SCHEMA_INFO —> This will return all rows from STG_SCHEMA_INFO as dbo is a valid owner.

Kind regards,
Franklin.

Thank you very much, fnunezsa, it works.

2 Likes

:wink: my pleasure

Hi guys,

i have a problem, i have a DAP with role_ADMIN_CONSOLE and a DB Server for this DAP

in the log of GIM i read:

Initializing DAP ‘DAP_STAGING_AREA’ for role(s) ‘STAGING’. Database=‘Staging_Area_DB@WS2003SSE8’ Owner=‘sa’"
“DAP ‘DAP_STAGING_AREA’ database connection error. Exception: ‘Cannot open connection’”

i use MSSQL and i can ping the hostname of DBserver

in the ETL configuration check i have:

"Error connecting to Config Server ‘WS2003SSE8:2020’. Exception: ‘Server with this name is already running’
“Configuration error. Check log for additional information.”
Configuration Check detected error conditions

how can i solve the problem?

Thanks in advance

Regards

1 Like