ORA-28040: After Upgrade Database to 12c from 11g - database

Problem Statement:
We are doing a migration activity in which we have migrated DATABASE from ORACLE 11g to ORACLE 12c.
After upgrade one of our application which is using jdk 6 with ojdbc6.jar (JDBC Driver) is not able to connect the 12c database.
Below error we are getting :
java.sql.SQLException: ORA-28040:
No matching authentication protocol
after Upgrade Database to 12c
Configuration
JDK Version : 1.6
JDBC Driver : ojdbc6.jar
Database Version : Oracle 12c
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 11
Workaround tried:
1) We tried to run a simple jdbc application with jdk1.6 and ojdbc6.jar it was successful. Also it is as per Oracle Compatibility matrix.
2) We asked to update the parameter SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8 but security team cannot do it as it does not comply on security standards.
Please suggest how we should proceed forward to fix this issue.

The problem was then weblogic.jar and from the classpath of weblogic.jar, ojdbc14.jar was being referred. We checked in WL_HOME\server\lib library and found that ojdbc14.jar was there. We just let keep it there but copied ojdbc6.jar in some external directory and loaded same in CLASSPATH before all jars. Below is from oracle docs-
This driver is installed in the WL_HOME\server\lib folder (where WL_HOME is the folder where WebLogic Server is installed) with weblogic.jar. The manifest in weblogic.jar lists this file so that it is loaded when weblogic.jar is loaded (when the server starts). Therefore, you do not need to add this JDBC driver to your CLASSPATH. If you plan to use a third-party JDBC driver that is not installed with WebLogic Server, you must install the drivers, which includes updating your CLASSPATH with the path to the driver files, and may include updating your PATH with the path to database client files. See "Supported Database Configurations" on the Oracle Fusion Middleware Supported System Configurations page at http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlOpens a new window.
If you plan to use a different version of any of the drivers installed with WebLogic Server, you can replace the driver file in WL_HOME\server\lib with an updated version of the file or add the new file to the front of your CLASSPATH.
So if you are facing the same issue I would like to suggest-
1) Check for the Oracle driver (ojdbc) - as the most post on StackOverflow suggest same.
You can check ojdbc driver compatibity here
2) If you cannot change driver immediately the change below in sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
(SQLNET.ALLOWED_LOGON_VERSION is depreciated in 12c. Also, please be noted that In 12c, the default value for the SQLNET.ALLOWED_LOGON_VERSION_SERVER parameter has been updated to “11”. This means that database clients using pre-11g JDBC thin drivers cannot authenticate to 12.1 database servers unless the parameter is set to the old default of “8”)
For your reference, please check-
https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60010
https://docs.oracle.com/database/121/UPGRD/afterup.htm#UPGRD60157
Thanks.

Related

How to connect dataminder to other databases then provided by default sql connection?

How do you connect to other databases then the default provided by dataminder?
Do you need to implement your own connection plugin?
Since the default DataMinder connection uses standard JDBC url:s it can connect to any database that supports JDBC e.g. Oracle or IBM DB2.
But you need to install the correct JDBC driver as a JAVA JAR file in the plugin directory for "DM Data Plugins" located
in
DataMinder/Server/Internal/DMPlugins/DMPluginData/lib
You need to restart the application to reload the new JAR files.

Cannot load driver: com.microsoft.sqlserver.jdbc.SQLServerDriver weblogic 12C

I have a weblogic 12C server which is trying to connect to a MSSQL 2014 DB. I encountered the following issue :
Cannot load driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
I have already check the following solution
The suggested solution does not apply to me as in D:\wls12210\wlserver\common\bin, it does not contain the commEnv.cmd file for me to add the new classpath in.
A look at the documentation suggests Edit the commEnv.cmd/sh script in WL_HOME/common/bin which is the same as the suggest solution
Where is the misssing commEnv.cmdin weblogic 12c ??
From weblogic 1221 documentation here :
To use third-party JDBC drivers that are not installed with WebLogic Server, you can add them to the DOMAIN_HOME/lib directory, where DOMAIN_HOME represents the directory in which the WebLogic Server domain is configured. The default path is ORACLE_HOME/user_projects/domains. For more information, see "Adding JARs to the Domain /lib Directory" in Developing Applications for Oracle WebLogic Server.
Please try as mentioned. I assumed you are using version weblogic 12.2.1 based on the directory structure in the post. When searching for anything in weblogic documentation, I usually search with weblogic version in the search query so it may take you to relevant weblogic documentation(obviously oracle has documentation for several versions). In this case I'm not sure if anything has changed between the versions, but anyway its a good thing to use the version in search query first.

Connect Sonarqube to MSSQL

I have a Sonarqube installation which connects to a SQL Server database. This has been configured and working for close to 12 months.
Today I upgraded Sonar, from an old version (3.x) to the current stable 5.1
I am getting an error like:
jvm 1 | WrapperSimpleApp: Encountered an error running main:
org.sonar.process.MessageException:
Unsupported JDBC driver provider: sqlserver
jvm 1 | org.sonar.process.MessageException: Unsupported JDBC driver provider:
sqlserver
I specified the path to the mssql jar in the conf file, so can't see any reason why this is occurring. Has anyone come across this, or any suggestions?
Support for SQL Server is achieved using the jTDS driver that is bundled with SonarQube, and this can't be changed since SQ 4.5 (see SONAR-5499).
So if your remove the specific entry that you set in the conf/sonar.properties file to specify the path to your JDBC driver, this should solve the problem.

Migrating to SQL Server in TeamCity: A driver for the source database not found

I'm trying to move my TeamCity instance to SQL Server. I followed the instructions in the docs for Setting up an External Database.
Now I'm going through Migrating to an External Database and running the maintainDb command:
.\maintainDB.cmd migrate -A c:\users\jkodroff\.buildserver -T C:\Users\jkodroff\.BuildServer\config\database.properties
And I get this output:
Java executable is found: 'C:\Program Files\Java\jdk1.6.0_35\bin\java.exe'.
Using logs directory C:\TeamCity\logs
TeamCity maintenance tool. Copyright 2013 JetBrains s.r.o. All Rights Reserved.
Command line arguments: migrate -A c:\users\jkodroff\.buildserver -T C:\Users\jkodroff\.BuildServer\config\database.properties
Using TeamCity data directory: C:\Users\jkodroff\.BuildServer
Using database settings from the TeamCity data directory for source database: C:\Users\jkodroff\.BuildServer\config\database.properties
Using source database
database type: MSSQL
connection string: jdbc:jtds:sqlserver://localhost:1433/teamcity
Cannot proceed with 'migrate' command: A driver for the source database not found. Please ensure you have driver jars in C:\Users\jkodroff\.BuildServer\lib\jdbc.
Critical error has occurred during command execution.
I've verified that both sqljdbc.jar and sqljdbc4.jar are in the directory indicated, so what gives?
The fact that you have sqljdbc.jar and sqljdbc4.jar indicates that you are using the Microsoft SQL Server JDBC Driver, but the connection string is for the jTDS driver. Make sure you use the correct connection string for the Microsoft SQL Server JDBC or that you use the jTDS JDBC driver instead.
Second: you should use either sqljdbc.jar (which is for Java 5) or sqljdbc4.jar (which is for Java 6 and later), not both; loading both might lead to unexpected behavior due to classloading order etc!

Cannot load drivers for SQL Server on WSO2 Data Services Server

I am attempting to create a new Data Service in WSO2 Data Services Server to connect with SQL Server 2005. However, every time I test the connection I receive the error message "Driver class com.microsoft.jdbc.sqlserver.SQLServerDriver can not be loaded".
Data Source Type: RDBMS, Non-XA-DataSource
Database Engine: Microsoft SQL Server
Driver: com.microsoft.jdbc.sqlserver.SQLServerDriver
...
I don't believe my connection string or credentials are a problem as it fails on loading the driver.
What is the step that I'm missing in this process?
You have to put the Microsoft SQL driver jar inside repository/components/lib of DSS distribution in order to load the driver class.
The folder structure has changed for Enterprise Integrator v6 you will need to drop off the file into your [EI_HOME]/lib folder. Default folder is "C:\Program Files\WSO2\Enterprise Integrator\6.6.0\lib".
Depending on what version of Java you are using, you may download the corresponding version from here.
Extract the file and you drop the jar:
mssql-jdbc-7.2.2.jre8.jar - for java 1.8 class version 52
Check out this link for class versions.

Resources