The SQL server (v2016) we need to connect to needs a secure connection, everything we tried using weblogic.jdbc.sqlserver.SQLServerDriver failed. Opening a ticket with Oracle, the recommendation was to use a different driver for the data server, com.microsoft.sqlserver.jdbc.SQLServerDriver.
That worked. Testing the DataServer connection returns a success response. But reverse engineering is now returning the above failure, the entire error message is below.
How do we fix this to get reverse engineering to work for building the model? Is there another approach to consider?
java.lang.RuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.microsoft.sqlserver.jdbc.SQLServerDriver]
at oracle.odi.core.datasource.provider.AbstractDataSourceProvider.configure(AbstractDataSourceProvider.java:110)
at oracle.odi.core.DataSourceManager$LoginTimeoutDataSourceProviderProxy.configure(DataSourceManager.java:303)
at oracle.odi.core.DataSourceManager.createAndConfigureDataSourceProvider(DataSourceManager.java:229)
at oracle.odi.core.DataSourceManager.access$000(DataSourceManager.java:55)
at oracle.odi.core.DataSourceManager$1.create(DataSourceManager.java:74)
at oracle.odi.core.utils.OdiCachingMap.get(OdiCachingMap.java:165)
at java.util.Collections$SynchronizedMap.get(Collections.java:2584)
at oracle.odi.core.DataSourceManager.getDataSource(DataSourceManager.java:152)
at oracle.odi.core.OdiInstance.lookupDataSource(OdiInstance.java:1167)
at oracle.odi.core.datasource.dwgobject.support.DwgConnectConnectionCreatorImpl.getDataSourceAdapter(DwgConnectConnectionCreatorImpl.java:130)
at oracle.odi.core.datasource.dwgobject.support.DwgConnectConnectionCreatorImpl.createDwgConnectConnection(DwgConnectConnectionCreatorImpl.java:82)
at com.sunopsis.dwg.reverse.Reverse.getLocalConnection(Reverse.java:1580)
at com.sunopsis.dwg.reverse.Reverse.getSupportedObjectTypesList(Reverse.java:1554)
at com.sunopsis.graphical.frame.edit.EditFrameSnpModel.displayReverseObjects(EditFrameSnpModel.java:3627)
at com.sunopsis.graphical.frame.edit.EditFrameSnpModel.snpsComboBoxVctWorkSchema_ItemStateChanged(EditFrameSnpModel.java:3757)
at com.sunopsis.graphical.frame.edit.EditFrameSnpModel$IvjEventHandler.itemStateChanged(EditFrameSnpModel.java:382)
at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1223)
at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1280)
at javax.swing.JComboBox.contentsChanged(JComboBox.java:1330)
at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:93)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:576)
at oracle.cef.ui.component.ComboBox.setSelectedItem(ComboBox.java:387)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:622)
at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:868)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:517)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at oracle.javatools.internal.ui.EventQueueWrapper._dispatchEvent(EventQueueWrapper.java:169)
at oracle.javatools.internal.ui.EventQueueWrapper.dispatchEvent(EventQueueWrapper.java:151)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.IllegalArgumentException: Could not load JDBC driver class [com.microsoft.sqlserver.jdbc.SQLServerDriver]
at oracle.odi.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:181)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.<init>(DriverManagerDataSource.java:158)
at oracle.odi.core.datasource.provider.DriverManagerDataSourceProvider.doCreateDataSource(DriverManagerDataSourceProvider.java:63)
at oracle.odi.core.datasource.provider.AbstractDataSourceProvider.configure(AbstractDataSourceProvider.java:101)
... 59 more
Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver cannot be found by oracle.odi.navigator_12.2.1
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at org.netbeans.modules.netbinox.NetbinoxLoader.loadClass(NetbinoxLoader.java:81)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at oracle.odi.core.classloading.StrategyBasedClassLoader.loadClass(StrategyBasedClassLoader.java:215)
at oracle.odi.core.classloading.StrategyBasedClassLoader.loadClass(StrategyBasedClassLoader.java:194)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at oracle.odi.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:177)
... 62 more