IBM/db2forzosdeveloperextension-about

JDBC parameter "specialRegisters" is lost

Opened this issue · 3 comments

On the optional JDBC properties for my connection I have specified several properties including

specialRegisters CURRENT APPLICATION COMPATIBILITY=V12R1M502

In the server trace

[Trace - 15.08.35] Sending request 'ibmdb2devext/openConnection - (1)'.
Params: [
    "d371e494-45fc-4961-8019-44910e0e46b1",
    "REGULAR",
    {
        "server": "137.134.4.52",
        "port": "3713",
        "location": "RS01PDS1",
        "traceLevel": 0,
        "traceFileAppend": true,
        "connectionKeepAlive": 300,
        "jdbcProperties": {
            "specialRegisters": "CURRENT APPLICATION COMPATIBILITY=V12R1M502",
            "currentPackageSet": "NULLID_V12R1M506",
            "sslTrustStorePassword": true,
            "sslTrustStoreLocation": "C:\\Users\\jthyssen\\OneDrive - Rocket Software, Inc\\Documents\\Misc\\certificates\\pds1_password.jks",
            "sslConnection": "true"
        }
    }
]

but it is lost here:

[Trace - 15.08.35] Received notification 'window/logMessage'.
Params: {
    "type": 3,
    "message": "Db2SqlServiceClient:process:stdout: 2022-11-25T15:08:35,437+0100 [ForkJoinPool.commonPool-worker-1] TRACE: Opening connection (d371e494-45fc-4961-8019-44910e0e46b1, REGULAR, { driverType: 4, server: 137.134.4.52, port: 3713, location: RS01PDS1, token: null, traceLevel: 0, traceFileAppend: true, connectionKeepAlive: 300, jdbcProperties: { accountingInterval: null, affinityFailbackInterval: null, allowNextOnExhaustedResultSet: null, allowNullResultSetForExecuteQuery: null, atomicMultiRowInsert: null, autocommit: null, blockingReadConnectionTimeout: null, charOutputSize: null, clientAccountingInformation: null, clientApplcompat: null, clientApplicationInformation: null, clientBidiStringType: null, clientDebugInfo: null, clientProgramId: null, clientProgramName: null, clientRerouteAlternatePortNumber: null, clientRerouteAlternateServerName: null, clientRerouteServerListJNDIContext: null, clientRerouteServerListJNDIName: null, clientUser: null, clientWorkstation: null, commandTimeout: null, concurrentAccessResolution: null, connectionCloseWithInFlightTransaction: null, connectionTimeout: null, currentDegree: null, currentExplainMode: null, currentFunctionPath: null, currentLocaleLcCtype: null, currentMaintainedTableTypesForOptimization: null, currentPackagePath: null, currentPackageSet: NULLID_V12R1M506, currentRefreshAge: null, currentSQLID: null, currentSchema: null, cursorSensitivity: null, databaseName: null, dateFormat: null, decimalRoundingMode: null, decimalSeparator: null, decimalStringFormat: null, defaultIsolationLevel: null, deferPrepares: null, description: null, downgradeHoldCursorsUnderXa: null, driverType: null, enableBidiLayoutTransformation: null, enableClientAffinitiesList: null, enableConnectionConcentrator: null, enableExtendedDescribe: null, enableExtendedIndicators: null, enableMultiRowInsertSupport: null, enableNamedParameterMarkers: null, enableRowsetSupport: null, enableSeamlessFailover: null, enableSysplexWLB: null, enableT2zosLBF: null, enableT2zosLBFSPResultSets: null, enableTimeoutOnCursor: null, enableXACleanTransaction: null, encryptionAlgorithm: null, extendedTableInfo: null, fetchSize: null, fullyMaterializeInputStreams: null, fullyMaterializeLobData: null, gssCredential: null, implicitRollbackOption: null, interruptProcessingMode: null, jdbcCollection: null, keepAliveTimeOut: null, keepDynamic: null, kerberosServerPrincipal: null, keyUsage: null, logWriter: null, loginTimeout: null, maxConnCachedParamBufferSize: null, maxRowsetSize: null, maxStatements: null, maxTransportObjects: null, password: null, pdqProperties: null, pkList: null, planName: null, portNumber: null, progressiveStreaming: null, queryAcceleration: null, queryCloseImplicit: null, queryDataSize: null, queryPrefetch: null, queryTimeoutInterruptProcessingMode: null, readOnly: null, reportLongTypes: null, resultSetHoldability: null, resultSetHoldabilityForCatalogQueries: null, retrieveMessagesFromServerOnGetMessage: null, returnAlias: null, securityMechanism: null, sendCharInputsUTF8: null, sendDataAsIs: null, serverBidiStringType: null, serverName: null, sessionTimeZone: null, sqljAvoidTimeStampConversion: null, sqljEnableClassLoaderSpecificProfiles: null, ssid: null, sslCertLocation: null, sslCipherSuites: null, sslClientHostnameValidation: null, sslConnection: true, sslKeyStoreLocation: null, sslKeyStorePassword: null, sslKeyStoreType: null, sslTrustStoreLocation: C:\\Users\\jthyssen\\OneDrive - Rocket Software, Inc\\Documents\\Misc\\certificates\\pds1_password.jks, sslTrustStorePassword: true, sslTrustStoreType: null, sslVersion: null, statementConcentrator: null, streamBufferSize: null, stripTrailingZerosForDecimalNumbers: null, supportsAsynchronousXARollback: null, sysSchema: null, timeFormat: null, timerLevelForQueryTimeOut: null, timestampFormat: null, timestampOutputType: null, timestampPrecisionReporting: null, traceDirectory: null, traceFile: null, traceFileAppend: null, traceFileCount: null, traceFileSize: null, traceLevel: null, traceOption: null, useCachedCursor: null, useClientSideLicenseFirst: null, useIdentityValLocalForAutoGeneratedKeys: null, useJDBC41DefinitionForGetColumns: null, useJDBC4ColumnNameAndLabelSemantics: null, useJDBC4DataType: null, useRowsetCursor: null, user: null, xaNetworkOptimization: null, xmlFormat: null } }).\r\n"
}

The other properties like currentPackageSet, sslConnection, sslTrustStoreLocation, etc. are all honored, but "specialRegisters" are lost.

Hi @jthyssenrocket,

Thank you for reporting the issue. We will take a look.

Hi @jthyssenrocket,

The Optional tab in the Db2 connection is meant for IBM Data Server Driver for JDBC and SQLJ properties. specialRegisters seems to be a property for the connection URL for the DriverManager interface. Underlying, we are using the DataSource interface which doesn't support the specialRegisters property.

Hi @jthyssenrocket ,
Are you looking to specify the JDBC driver properties for each Db2/z connection or only once for the driver?