I'm trying to connect to a sql server 2005 express edition but have some trouble with it: i can connect to sql server through eclipse IDE but when I create a jar and try connecting to server, I get the following error.
Exception in thread "main" java.lang.SecurityException: invalid SHA1 signature f
ile digest for com/microsoft/sqlserver/jdbc/SQLServerException.class
at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)
at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
at sun.security.util.SignatureFileVerifier.process(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.getInputStream(Unknown Source)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
at sun.misc.Resource.cachedInputStream(Unknown Source)
at sun.misc.Resource.getByteBuffer(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
I'm using :
- os : winxp
- jdk1.5.0_06
- drivers : sqljdbc_1.1.1501.101 / sqljdbc_1.2.2828.100
from time to time i get a Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerException (no security manager: RMI class loader disabled) when i try to use the MS SQLServer 2005 JDBC Driver 1.1. with our RMI Server.
The connect String is jdbc:sqlserver://localhost:1433;databaseName=EXBBERLIN The SQL Server Version is 2000 SP 3. I am using java Version 1.5.0_08-b03.
I have tried to start our Server with the -Djava.security.manager switch, but this does not resolve the problem.
The stacktrace of the exception is
java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerException (no security manager: RMI class loader disabled) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:217) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133) at de.eidon.logis.database.DBReadManager_Stub.base2treeAndEdit(Unknown Source) .... Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerException (no security manager: RMI class loader disabled) at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371) at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165) at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:631) at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:257) at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:200) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1513) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)
On another comnputer with almost the same setup everything works fine. The SQLServer 2000 JDBC Driver seems to work fine as well. Does anonne of you has an idea how to resolve this issue ?
try { // Establish the connection. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl,"ifc2","password");
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at connectURL.main(connectURL.java:43)
I am using the code example that came from Microsoft for making a JDBC connection. I looked at my configuration of SQL Server and change to use a static port 1433. I shut off Windows firewall to make sure it was not blocking communication.
When I try to telnet to port 1433 it says
Connecting To 1433...Could not open connection to the host, on port 23: Connect failed
I have read similar posts to this, but I am still having problems.
I am trying to use connection pooling to connect to a local SQL Server 2005 database. I am running my application using MyEclipse Enterprise Workbench. I have verified that sqljdbc.jar resides in "WebRoot/WEB-INF/lib/"
I´m wondering how to make a connection to a file in differents machines, FTP, excel file, HTTP, WebService instead of OLDDB, where can I find a reference for the constants that must be used in each case.
Hello All, kindly help me resolving following error. Earlier it was working fine with SQL server 2000, we want to migrate to sql server 2005. I am using websphere 6.0 with following jdbc_registry.properties contents. The driver file is copied under E:Program FilesIBMWebSphereAppServerlibext ***************************************************************************** driver.class=com.microsoft.sqlserver.jdbc.SQLServerDriver connection.url=jdbc: sqlserver://MyDBServer:1433;DatabaseName=abc;user=a; password=a user=a password=a ******************************************************************************
I am using sqljdbc_1.2.2828.100_enu drivers to connect to sql server 2005. following is the exception trace from my IDE.
************ Start Display Current Environment ************ WebSphere Platform 6.0 [BASE 6.0.2.13 cf130631.22] running with process name onschedule5Node01Cellonschedule5Node01server1 and process id 244 Host Operating System is Windows 2003, version 5.2 Java version = J2RE 1.4.2 IBM Windows 32 build cn142-20050609 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM was.install.root = E:Program FilesIBMWebSphereAppServer user.install.root = E:Program FilesIBMWebSphereAppServer/profiles/default Java Home = E:Program FilesIBMWebSphereAppServerjavajre ws.ext.dirs = E:Program FilesIBMWebSphereAppServer/java/lib;E:Program FilesIBMWebSphereAppServer/profiles/default/classes;E:Program FilesIBMWebSphereAppServer/classes;E:Program FilesIBMWebSphereAppServer/lib;E:Program FilesIBMWebSphereAppServer/installedChannels;E:Program FilesIBMWebSphereAppServer/lib/ext;E:Program FilesIBMWebSphereAppServer/web/help;E:Program FilesIBMWebSphereAppServer/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime Classpath = E:Program FilesIBMWebSphereAppServer/profiles/default/properties;E:Program FilesIBMWebSphereAppServer/properties;E:Program FilesIBMWebSphereAppServer/lib/bootstrap.jar;E:Program FilesIBMWebSphereAppServer/lib/j2ee.jar;E:Program FilesIBMWebSphereAppServer/lib/lmproxy.jar;E:Program FilesIBMWebSphereAppServer/lib/urlprotocols.jar Java Library path = E:Program FilesIBMWebSphereAppServerjavain;.;C:WINDOWSsystem32;C:WINDOWS;E:Program FilesIBMWebSphereAppServerin;E:Program FilesIBMWebSphereAppServerjavain;E:Program FilesIBMWebSphereAppServerjavajrein;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;E:Program FilesIBMWebSphereAppServerjavain ************* End Display Current Environment ************* [3/20/08 7:15:44:188 EST] 0000000a ManagerAdmin I TRAS0028I: The trace output is stored in the circular memory buffer, holding 8192 message objects. [3/20/08 7:15:44:531 EST] 0000000a ManagerAdmin I TRAS0017I: The startup trace state is *=info. [3/20/08 7:15:44:531 EST] 0000000a ManagerAdmin A TRAS0007I: Logging to the service log is disabled [3/20/08 7:15:44:719 EST] 0000000a AdminInitiali A ADMN0015I: The administration service is initialized. [3/20/08 7:15:49:109 EST] 0000000a SystemOut O PLGC0057I: Plug-in configuration service is started successfully. [3/20/08 7:15:49:188 EST] 0000000a PMIImpl A PMON1001I: PMI is enabled [3/20/08 7:15:49:750 EST] 0000000a SibMessage I [:] CWSIU0000I: Release: WAS602.SIB Level: o0625.16 [3/20/08 7:15:49:766 EST] 0000000a SecurityDM I SECJ0231I: The Security component's FFDC Diagnostic Module com.ibm.ws.security.core.SecurityDM registered successfully: true. [3/20/08 7:15:49:875 EST] 0000000a AuditServiceI A SECJ6004I: Security Auditing is disabled. [3/20/08 7:15:49:938 EST] 0000000a distSecurityC I SECJ0309I: Java 2 Security is disabled. [3/20/08 7:15:50:000 EST] 0000000a Configuration A SECJ0215I: Successfully set JAAS login provider configuration class to com.ibm.ws.security.auth.login.Configuration. [3/20/08 7:15:50:016 EST] 0000000a distSecurityC I SECJ0212I: WCCM JAAS configuration information successfully pushed to login provider class. [3/20/08 7:15:50:031 EST] 0000000a distSecurityC I SECJ0240I: Security service initialization completed successfully [3/20/08 7:15:50:297 EST] 0000000a ObjectPoolSer I OBPL0007I: Object Pool Manager service is disabled. [3/20/08 7:15:50:328 EST] 0000000a J2EEServiceMa I ASYN0059I: Work Manager service initialized successfully. [3/20/08 7:15:50:391 EST] 0000000a CScopeCompone I CSCP0002I: Compensation service is disabled. [3/20/08 7:15:50:531 EST] 0000000a SibMessage I [:] CWSID0006I: The SIB service was not enabled and will not be started. [3/20/08 7:15:50:531 EST] 0000000a ActivitySessi I WACS0045I: ActivitySession service is disabled. [3/20/08 7:15:50:562 EST] 0000000a SOAPContainer I WSWS1062I: SOAP Container Service has been initialized. [3/20/08 7:15:50:641 EST] 0000000a SchedulerServ I SCHD0036I: The Scheduler Service is initializing. [3/20/08 7:15:50:688 EST] 0000000a SchedulerServ I SCHD0037I: The Scheduler Service has been initialized. [3/20/08 7:15:50:875 EST] 0000000a StartUpServic I STUP0008I: The Startup Beans service is disabled. [3/20/08 7:15:50:891 EST] 0000000a I18nService I I18N0010I: The Internationalization service is created on server1. [3/20/08 7:15:50:891 EST] 0000000a I18nServiceSe I I18N0010I: The Internationalization service is disabled on server1. [3/20/08 7:15:51:406 EST] 0000000a SASRas A JSAS0001I: Security configuration initialized. [3/20/08 7:15:51:859 EST] 0000000a SASRas A JSAS0002I: Authentication protocol: CSIV2/IBM [3/20/08 7:15:51:859 EST] 0000000a SASRas A JSAS0003I: Authentication mechanism: SWAM [3/20/08 7:15:51:875 EST] 0000000a SASRas A JSAS0004I: Principal name: OnProjectRealm/wsadmin [3/20/08 7:15:51:891 EST] 0000000a SASRas A JSAS0005I: SecurityCurrent registered. [3/20/08 7:15:52:047 EST] 0000000a SASRas A JSAS0006I: Security connection interceptor initialized. [3/20/08 7:15:52:078 EST] 0000000a SASRas A JSAS0007I: Client request interceptor registered. [3/20/08 7:15:52:156 EST] 0000000a SASRas A JSAS0008I: Server request interceptor registered. [3/20/08 7:15:52:172 EST] 0000000a SASRas A JSAS0009I: IOR interceptor registered. [3/20/08 7:15:53:031 EST] 0000000a CoordinatorIm I HMGR0206I: The Coordinator is an Active Coordinator for core group DefaultCoreGroup. [3/20/08 7:15:53:062 EST] 0000000a DCSPluginSing I HMGR0005I: The Single Server DCS Core Stack transport has been started for core group DefaultCoreGroup. [3/20/08 7:15:53:344 EST] 0000000a NameServerImp A NMSV0018I: Name server available on bootstrap port 2809. [3/20/08 7:15:54:078 EST] 0000000a TreeBuilder W ODCF0002E: Exception: E:Program FilesIBMWebSphereAppServerprofilesdefaultconfigcellsonschedule5Node01Cellodeswebserver1_nodevariables.xml (The system cannot find the file specified). [3/20/08 7:15:54:203 EST] 0000000a UserRegistryI A SECJ0136I: Custom Registry:com.onproject.security.registry.JdbcRegistry has been initialized [3/20/08 7:15:54:344 EST] 0000000a distContextMa E SECJ0270E: Failed to get actual credentials. The exception is java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at java.net.URLClassLoader.defineClass(URLClassLoader.java:475) at java.net.URLClassLoader.access$500(URLClassLoader.java:109) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:389) at java.net.URLClassLoader.findClass(URLClassLoader.java:371) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.onproject.security.registry.JdbcRegistry.getConnection(JdbcRegistry.java:188) at com.onproject.security.registry.JdbcRegistry.checkPassword(JdbcRegistry.java:225) at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword(UserRegistryImpl.java:296) at com.ibm.ws.security.server.lm.swamLoginModule.login(swamLoginModule.java:429) at com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy.login(WSLoginModuleProxy.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:699) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:151) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:634) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:351) at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:631) at javax.security.auth.login.LoginContext.login(LoginContext.java:557) at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login(JaasLoginHelper.java:376) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:1050) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:890) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:881) at com.ibm.ws.security.auth.distContextManagerImpl.getServerSubjectInternal(distContextManagerImpl.java:2167) at com.ibm.ws.security.core.distSecurityComponentImpl.initializeServerSubject(distSecurityComponentImpl.java:1928) at com.ibm.ws.security.core.distSecurityComponentImpl.initialize(distSecurityComponentImpl.java:341) at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:298) at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:101) at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:279) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:149) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:408) at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:187) at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:133) at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:387) at com.ibm.ws.runtime.WsServer.main(WsServer.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:219) at java.lang.Thread.run(Thread.java:568) . [3/20/08 7:15:54:359 EST] 0000000a distSecurityC E SECJ0208E: An unexpected exception occurred when attempting to authenticate the server's id during security initialization. The exception is java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at java.net.URLClassLoader.defineClass(URLClassLoader.java:475) at java.net.URLClassLoader.access$500(URLClassLoader.java:109) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:389) at java.net.URLClassLoader.findClass(URLClassLoader.java:371) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.onproject.security.registry.JdbcRegistry.getConnection(JdbcRegistry.java:188) at com.onproject.security.registry.JdbcRegistry.checkPassword(JdbcRegistry.java:225) at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword(UserRegistryImpl.java:296) at com.ibm.ws.security.server.lm.swamLoginModule.login(swamLoginModule.java:429) at com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy.login(WSLoginModuleProxy.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:699) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:151) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:634) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:351) at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:631) at javax.security.auth.login.LoginContext.login(LoginContext.java:557) at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login(JaasLoginHelper.java:376) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:1050) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:890) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:881) at com.ibm.ws.security.auth.distContextManagerImpl.getServerSubjectInternal(distContextManagerImpl.java:2167) at com.ibm.ws.security.core.distSecurityComponentImpl.initializeServerSubject(distSecurityComponentImpl.java:1928) at com.ibm.ws.security.core.distSecurityComponentImpl.initialize(distSecurityComponentImpl.java:341) at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:298) at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:101) at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:279) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:149) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:408) at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:187) at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:133) at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:387) at com.ibm.ws.runtime.WsServer.main(WsServer.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:219) at java.lang.Thread.run(Thread.java:568) . [3/20/08 7:15:54:391 EST] 0000000a distSecurityC E SECJ0007E: Error during security initialization. The exception is java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at java.net.URLClassLoader.defineClass(URLClassLoader.java:475) at java.net.URLClassLoader.access$500(URLClassLoader.java:109) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:389) at java.net.URLClassLoader.findClass(URLClassLoader.java:371) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.onproject.security.registry.JdbcRegistry.getConnection(JdbcRegistry.java:188) at com.onproject.security.registry.JdbcRegistry.checkPassword(JdbcRegistry.java:225) at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword(UserRegistryImpl.java:296) at com.ibm.ws.security.server.lm.swamLoginModule.login(swamLoginModule.java:429) at com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy.login(WSLoginModuleProxy.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:699) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:151) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:634) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:351) at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:631) at javax.security.auth.login.LoginContext.login(LoginContext.java:557) at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login(JaasLoginHelper.java:376) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:1050) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:890) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:881) at com.ibm.ws.security.auth.distContextManagerImpl.getServerSubjectInternal(distContextManagerImpl.java:2167) at com.ibm.ws.security.core.distSecurityComponentImpl.initializeServerSubject(distSecurityComponentImpl.java:1928) at com.ibm.ws.security.core.distSecurityComponentImpl.initialize(distSecurityComponentImpl.java:341) at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:298) at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:101) at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:279) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:149) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:408) at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:187) at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:133) at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:387) at com.ibm.ws.runtime.WsServer.main(WsServer.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:219) at java.lang.Thread.run(Thread.java:568) . [3/20/08 7:15:59:406 EST] 0000000a SchedulerServ I SCHD0040I: The Scheduler Service is stopping. [3/20/08 7:15:59:422 EST] 0000000a SchedulerServ I SCHD0002I: The Scheduler Service has stopped. [3/20/08 7:15:59:438 EST] 0000000a AppProfileCom I ACIN0009I: The application profiling service is stopping. [3/20/08 7:15:59:438 EST] 0000000a ActivitySessi I WACS0049I: The ActivitySession service is stopping. [3/20/08 7:15:59:547 EST] 0000000a WsServerImpl E WSVR0009E: Error occurred during startup META-INF/ws-server-components.xml [3/20/08 7:15:59:562 EST] 0000000a WsServerImpl E WSVR0009E: Error occurred during startup com.ibm.ws.exception.RuntimeError: com.ibm.ws.exception.RuntimeError: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:194) at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:133) at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:387) at com.ibm.ws.runtime.WsServer.main(WsServer.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:219) at java.lang.Thread.run(Thread.java:568) Caused by: com.ibm.ws.exception.RuntimeError: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:322) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:149) at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:820) at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:649) at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:408) at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:187) ... 10 more Caused by: com.ibm.websphere.security.WSSecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at com.ibm.ws.security.auth.distContextManagerImpl.getServerSubjectInternal(distContextManagerImpl.java:2187) at com.ibm.ws.security.core.distSecurityComponentImpl.initializeServerSubject(distSecurityComponentImpl.java:1928) at com.ibm.ws.security.core.distSecurityComponentImpl.initialize(distSecurityComponentImpl.java:341) at com.ibm.ws.security.core.distSecurityComponentImpl.startSecurity(distSecurityComponentImpl.java:298) at com.ibm.ws.security.core.SecurityComponentImpl.startSecurity(SecurityComponentImpl.java:101) at com.ibm.ws.security.core.ServerSecurityComponentImpl.start(ServerSecurityComponentImpl.java:279) ... 17 more Caused by: com.ibm.websphere.security.auth.WSLoginFailedException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at com.ibm.ws.security.server.lm.swamLoginModule.login(swamLoginModule.java:435) at com.ibm.ws.security.common.auth.module.proxy.WSLoginModuleProxy.login(WSLoginModuleProxy.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:699) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:151) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:634) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:351) at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:631) at javax.security.auth.login.LoginContext.login(LoginContext.java:557) at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login(JaasLoginHelper.java:376) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:1050) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:890) at com.ibm.ws.security.auth.distContextManagerImpl.login(distContextManagerImpl.java:881) at com.ibm.ws.security.auth.distContextManagerImpl.getServerSubjectInternal(distContextManagerImpl.java:2167) ... 22 more Caused by: java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerConnection"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at java.net.URLClassLoader.defineClass(URLClassLoader.java:475) at java.net.URLClassLoader.access$500(URLClassLoader.java:109) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848) at java.security.AccessController.doPrivileged1(Native Method) at java.security.AccessController.doPrivileged(AccessController.java:389) at java.net.URLClassLoader.findClass(URLClassLoader.java:371) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:113) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290) at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877) at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851) at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.onproject.security.registry.JdbcRegistry.getConnection(JdbcRegistry.java:188) at com.onproject.security.registry.JdbcRegistry.checkPassword(JdbcRegistry.java:225) at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword(UserRegistryImpl.java:296) at com.ibm.ws.security.server.lm.swamLoginModule.login(swamLoginModule.java:429) ... 40 more
I have written a shell script that connects to a SQL Server 2005 database from Linux in order to monitor various areas of SQL.
One of the databases that are being monitored is mirrored, which is no problem in itself as I use the failoverPartner property in my connection string before I pass the TSQL. Unfortunately when the principal/mirror status changes, I get a constant stream of Failure Audit (Login failure) messages in the Mirror server Windows event log even though the failoverPartner property works and redirects to the partner, returning the correct information.
Here is a trace of the connection:
------
22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property : serverName Value:SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:databaseNameValue:TESTDATABASE 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:failoverPartnerValue:SERVER2 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:integratedSecurityValue:false 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:loginTimeoutValue:3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: Calling securityManager.checkConnect(SERVER1,1433) 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: securityManager.checkConnect succeeded. 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: Start time: 1172160120083 Time out time: 1172160123083 Timeout Unit Interval: 240 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt server name: SERVER1 port: 1433 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt endtime: 1172160120323 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt No: 0 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connectHelper FINE: Connecting with server: SERVER1 port: 1433 Timeout slice: 232 Timeout Full: 3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerException logException FINE: *** SQLException:[Thread[main,5,main], IO:5571e, Dbc:a8327] com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "TESTDATABASE" requested by the login. The login failed. Msg 4060, Level 11, State 1, Cannot open database "TESTDATABASE" requested by the login. The login failed. 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt server name: SERVER2 port: 1433 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt endtime: 1172160120369 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt No: 1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connectHelper FINE: Connecting with server: SERVER2 port: 1433 Timeout slice: 237 Timeout Full: 3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: adding new failover info server: SERVER1 instance: null database: TESTDATABASE server provided failover: SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.FailoverInfo failoverAdd FINE: Failover detected. failover partner=SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.FailoverMapSingleton putFailoverInfo FINE: Failover map add server: SERVER1; database:TESTDATABASE; Mirror:SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: End of connect 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerStatement <init> FINE: Statement properties ID:0 Connection:1 Result type:1003 (2003) Concurrency:1007 Fetchsize:128 bIsClosed:false tdsVersion:com.microsoft.sqlserver.jdbc.TDSVersion@15fea60 bCp1252:false useLastUpdateCount:true isServerSideCursor:false 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerStatement doExecuteStatement FINE: Executing (not server cursor) USE TESTDATABASE SELECT "TESTCOLUMN" FROM TEST_TABLE ORDER BY DateTime 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection close FINE: Closing connection ID:1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property : serverName Value:SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:databaseNameValue:TESTDATABASE 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:failoverPartnerValue:SERVER2 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:integratedSecurityValue:false 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.Util parseUrl FINE: Property:loginTimeoutValue:3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: Calling securityManager.checkConnect(SERVER1,1433) 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: securityManager.checkConnect succeeded. 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: Start time: 1172160120736 Time out time: 1172160123736 Timeout Unit Interval: 240 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt server name: SERVER1 port: 1433 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt endtime: 1172160120976 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt No: 0 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connectHelper FINE: Connecting with server: SERVER1 port: 1433 Timeout slice: 233 Timeout Full: 3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerException logException FINE: *** SQLException:[Thread[main,5,main], IO:5571e, Dbc:a8327] com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "TESTDATABASE" requested by the login. The login failed. Msg 4060, Level 11, State 1, Cannot open database "TESTDATABASE" requested by the login. The login failed. 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt server name: SERVER2 port: 1433 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt endtime: 1172160121031 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: This attempt No: 1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connectHelper FINE: Connecting with server: SERVER2 port: 1433 Timeout slice: 236 Timeout Full: 3 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection loginWithFailover FINE: adding new failover info server: SERVER1 instance: null database: TESTDATABASE server provided failover: SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.FailoverInfo failoverAdd FINE: Failover detected. failover partner=SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.FailoverMapSingleton putFailoverInfo FINE: Failover map add server: SERVER1; database:TESTDATABASE; Mirror:SERVER1 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerConnection connect FINE: End of connect 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerStatement <init> FINE: Statement properties ID:0 Connection:1 Result type:1003 (2003) Concurrency:1007 Fetchsize:128 bIsClosed:false tdsVersion:com.microsoft.sqlserver.jdbc.TDSVersion@15fea60 bCp1252:false useLastUpdateCount:true isServerSideCursor:false 22-Feb-2007 16:02:00 com.microsoft.sqlserver.jdbc.SQLServerStatement doExecuteStatement FINE: Executing (not server cursor) USE TESTDATABASE SELECT DATEDIFF(SECOND, DATETIME, GETDATE()) FROM TEST_TABLE 22-Feb-2007 16:02:01 com.microsoft.sqlserver.jdbc.SQLServerConnection close FINE: Closing connection ID:1
I cant supply a native database in the connection string (i.e Master) and then switch to the mirrored database in TSQL because the failoverPartner property does not apply to the session, only to the initial connection.
I have a Java Class that I want to be able to access from within a SQL Server Stored procedure. I know you can access C# and other .Net code, but can you also access a regular Java class this way?
while (resultSet.next()) { System.out.println(resultSet.getDate("end_date")); }
The date field is nullable, and the records in the database are currently null. But when I run this program, I get the following exception when using version 1.2 of the MS JDBC Driver:
com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to DATE is unsupported. at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(Unknown Source) at com.microsoft.sqlserver.jdbc.DTV.getValue(Unknown Source) at com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source) at com.microsoft.sqlserver.jdbc.Column.getValue(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getDate(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getDate(Unknown Source) at jdbc.main(jdbc.java:38) Exception in thread "main"
This started happening when we upgraded to the new driver. Any ideas why?
Hello. I am having trouble finding a descent API for executing TSQLvia JDBC. I have tried the Microsoft driver AND the JDTS driver's butget the same syntax errors. I am hoping there is a good solution alsofor executing scripts using the same. Any help is MUCHappreciated.Thx.
i just downloaded the latest version of the drver v 1.2 am using Eclipse latest version along with Microsoft SQL Server 2005 with Express Mangment Tools i installed the driver (copied the .dll to C:windowssystem32 ad included the .jar file in my project) am using mixed mode authentication
when i use the following url: "jdbcqlserver://localhost:1433;user=sa;password=;integratedSecurity=true;"; it connects to the master DB... good
whe i use the following: "jdbcqlserver://localhost:1433;user=sa;password=;database=MyHits;integratedSecurity=true;"; it gives me the follwoing:
com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "MyHits" requested by the login. The login failed. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source) at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(Unknown Source) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at db_worker.<init>(db_worker.java:25) at runner.main(runner.java:10)
although am sure i didnt miss anything (enbaled tcp/ip, no special permission thing on the DB MyHits) etc..
note: the databaseName ield in the url only works when i set it = to master,else it wont work (northwind or whatever) wont work!!!
We have a static class that makes an HTTPWebRequest to get XML data from one of our vendors. We use this as input to a stored proc in SQLServer2005. When I compile this class and call it from a console application in visual studio it executes in milliseconds, everytime. When I compile it, create the assembly and clr function and execute it in SQLServer, it takes around 14 seconds to execute the first time, then on subsequent requests it is again really fast, until I wait for 10 seconds and re-execute, once again it is slow the first time and then fast on subsequent requests. We do not see this behavior when executing outside SQLServer. Makes me think that some sort of authentication is perhaps taking place the first time the function is run in SQLServer? I have no idea how to debug this further. Anyone seen this before or have any ideas?
Here is the class:
Code Snippet
using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO;
namespace Predict.Services { public static class Foo { public static string GetIntradayQuote(string symbol) { string returnQuote = "";
HttpWebRequest request = (HttpWebRequest)(WebRequest.Create("http://data.predict.com/predictws/detailed_quote.html?syms=" + symbol + "&fields=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,30"));
StreamReader streamReader = new StreamReader(response.GetResponseStream());
returnQuote = streamReader.ReadToEnd();
streamReader.Close(); response.Close();
return returnQuote; } } }
When I run call it from a console app it is fine.
I compile it into a dll and then create the assembly and function as follows:
Code Snippet
drop function fnTestGetIntradayQuoteXML_SJS
go
drop assembly TestGetIntradayQuoteXML_SJS
go
create ASSEMBLY TestGetIntradayQuoteXML_SJS from 'c:DataBackupsCLRLibrariesTestGetIntradayQuote_SJS.dll' WITH PERMISSION_SET = EXTERNAL_ACCESS
go
CREATE FUNCTION fnTestGetIntradayQuoteXML_SJS(@SymbolList nvarchar(max)) RETURNS nvarchar(max) AS EXTERNAL NAME TestGetIntradayQuoteXML_SJS.[Predict.Services.Foo].GetIntraDayQuote
go
declare @testing nvarchar(max)
set @testing = dbo.fnTestGetIntradayQuoteXML_SJS('goog')
print @testing
When I execute the function as above, again, really slow the first time, then fast on subsequent calls. Could there be something wrong with the code, or some headers that need to be set differently to operate from the CLR in SQLServer?
I have some troubles with IBM WebSphere Application Server using MS SQL Server 2005 JDBC Driver. I always get the error e.g. java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData"'s signer information does not match signer information of other classes in the same package
I found this Feedback but it seems to be closed.
A temporary solution for me was to delete the meta-inf directory of the JAR-File, but that can't be the solution.
i want to use the sql server with java, but i don't find any documentation. I already loaded the sqljdbc.jar from the microsoft webpage, but i don't know how to connect.
This is my Connection function, but it doesn't connect. I get an exception like "cannot connect to ..."
I'm connecting to a SQL Server 2005 database using the latest (beta) sql server driver (Microsoft SQL Server 2005 JDBC Driver 1.1 CTP June 2006) from within Java (Rational Application Developer).
The table in SQL Server database has collation Latin1_General_CI_AS and one of the columns is a NVARCHAR with collation Indic_General_90_CI_AS. This should be a Unicode only collation. However when storing for instance the following String:
‚¬_£_ÙÚÜÛùúüû_ÅÆØåæøߣÇçÑñ_¼½¾_ЎўЄєÒ?Ò‘_прÑ?туф_ЂЉЊЋ ... it is saved with ? for all unicode characters as follows (when looking in the database): ‚¬_£_ÙÚÜÛùúüû_ÅÆØåæøߣÇçÑñ_¼½¾_??????_??????_????
The above is not correct, since all unicode characters should still be visible. When inserting the same string directly into the sql server database (without using Java) the result is ok.
Also when trying to retrieve the results again it complains about the following error within Java:
Codepage 0 is not supported by the Java environment.
Hopefully somebody has an answer for this problem. When I alter the collation of the NVARCHAR column to be Latin1_General_CI_AS as well, the data can be stored and retrieved however then of course the unicode specific characters are lost and results into ? So in that case the output is as described above (ie ‚¬_£_ÙÚÜÛùúüû_ÅÆØåæøߣÇçÑñ_¼½¾_??????_??????_????)
We would like to be able to persist and retrieve unicode characters in a SQL Server database using the correct JDBC Driver. We achieved this result already with an Oracle UTF8 database. But we need to be compliant with a SQL Server database as well. Please help.
The microsoft JDBC driver doesn't accept CLOB & BLOB field. Does anyone know about this problem ? Is it possible to found another driver that works correctly and that is free ?
Tengo instalado Microsoft Windows 2003 Server Standard Edition en un servidor IBM xSeries 220, estoy tratando de instalar IBM Director 5.10 y no ha sido posible hacer que se conecte con la base de datos.
Esto ocurre cuando intento configurar el Servidor SQL en la fase final de la instalación de IBM Director.
Gracias por su ayuda, ¿puede alguien darme alguna sugerencia?
Anyone know what I'm doing wrong? My JDBC is erroring. I'm using the Microsoft 1.2 driver, I have a SQL Server 2005 back end with the following clients connecting to it:
ASP.NET 2.0 web application Visual Studio C# console applications (*2) Java command line client.
Everything runs hunky-dory on my dev. environment (laptop, local, launched via Visual Studio) but now it's on the server, the Java client is erroring.
When I use the 1.2 sqljdbc.jar file, I get:
25-Jan-2008 12:20:29 com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin WARNING: ConnectionID:1 TransactionID:0x0000000000000000 Prelogin response packet not marked as a REPLY
My Error Trap: -------------- SQL STATE : 08S01 ERROR CODE: 0 MESSAGE : The TDS protocol stream is not valid.
When I use the 1.1 file I get:
My Error Trap: -------------- SQL STATE : 08S01 ERROR CODE: 0 MESSAGE : The TDS prelogin response is incomplete. The target server must be SQL Server 2000 or later.
I don't know what these errors mean. I've tried compiling as java 1.5 and 1.6 with the same results. It works fine on my laptop (Vista Home Premium) but won't when I try and connect to the server. I've searched the web on the error messages and can't find an answer yet.
Any help appreciated.
My drivers are the Windows versions. Also, everything else is working okay on the server: The consoles are up and running and the web browser connects and SELECTs, UPDATEs & INSERTs okay. I ought to mention: My laptop is running SQL Server Development edition and the Server is running obviously something else.
My SQL Server version is 9.0.1399 and the OS is Windows Server 2003. SQL Authentication is mixed mode.
How do you define a JDBC datasource in Microsoft Visual Studio? I am using Microsoft Visual Studio to develop reports for SSRS and would like to connect to DB2 via JDBC. Attempting to use the SQL JDBC install as a example, I don't see how to define the SQL JDBC driver to Visual Studio. The SQL JDBC runtime install is very clear, but I don't see how to use this type of datasource in Visual Studio.
I am running Windows Server 2003 R2 Enterprise Edition SP 2
I have created an integration package in VS 2005 which extracts data from Access 2000 and imports it into a table on SQL server 2005 running on this server.
The package runs ok in Visual Studio 2005, but when i schedule it as a step in 2005 SQL Agent to execute as a SQL Server Integration package using SQL Agent Service Account it comes with the following error - I did a bit of research which suggests this is due to SQL 64 bit and Windows 64b bit, however I am running 32 bit !! also the sql server agent is a domain admin user...can you gurus please help ?
Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10:07:42 AM Error: 2007-10-31 10:09:13.85 Code: 0xC0202009 Source: Copy all Data to Reporting Prod Connection manager "Access Allocations.mdb" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040154. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error Error: 2007-10-31 10:09:13.85 Code: 0xC020801C Source: 5_Copy vw_Allocations 5_Access Allocations [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Access Allocations.mdb" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error Error: 2007-10-31 10:09:13.85 Code: 0xC0047017 Source: 5_Copy vw_Allocations DTS.Pipeline Description: component "5_Access Allocations" (1) failed validation and returned error code 0xC020801C. End Error Error: 2007-10-31 10:09:13.85 Code: 0xC004700C Source: 5_Copy vw_Allocations DTS.Pipeline Description: One or more component failed validation. End Error Error: 2007-10-31 10:09:13.85 Code: 0xC0024107 Source: 5_Copy vw_Allocations Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:07:42 AM Finished: 10:09:13 AM Elapsed: 91.422 second
I have a J2EE based web application. There is a requirement where user triggers a process to query a database, and the application needs to save the results to an SDF file (Microsoft SQL Server CE 2.0 / Microsoft SQL Server Compact Edition) database. I need JDBC driver for it, but could not find it anywhere. Please help. Also, if there is any alternate way to do this, please let me know.
I can access SqlServer 2000 fine, but not SqlServer 2005. My client is on Windows XP and SqlServer 2005 (dev version) is on Windows 2003. When I run I get: Error: net.windward.datasource.DataSourceException: JdbcDataSource could not ope n jdbc:sqlserver://T1-Databases;databaseName=AdventureWorks;integratedSecurity=t rue; net.windward.datasource.DataSourceException: net.windward.datasource.DataSourceE xception: JdbcDataSource could not open jdbc:sqlserver://T1-Databases;databaseNa me=AdventureWorks;integratedSecurity=true; at net.windward.datasource.jdbc.JdbcDataSource.<init>(JdbcDataSource.jav a:1030) at net.windward.xmlreport.RunReport.main(RunReport.java:165) Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid integratedSe curity property value:true at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U nknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Sour ce) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at net.windward.datasource.jdbc.JdbcDataSource.<init>(JdbcDataSource.jav a:1024) ... 1 more Exception in thread "main" net.windward.datasource.DataSourceException: net.wind ward.datasource.DataSourceException: JdbcDataSource could not open jdbc:sqlserve r://T1-Databases;databaseName=AdventureWorks;integratedSecurity=true; at net.windward.datasource.jdbc.JdbcDataSource.<init>(JdbcDataSource.jav a:1030) at net.windward.xmlreport.RunReport.main(RunReport.java:165) Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid integratedSe curity property value:true at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(U nknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Sour ce) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at net.windward.datasource.jdbc.JdbcDataSource.<init>(JdbcDataSource.jav a:1024) ... 1 more Any ideas? thanks - dave
Hi, We are looking for a way to create the jdbc connection with Microsoft jdbc driver on a TomCat server ? Meaning the exact information to enter within the server.xml file or within the Tomcat web server administration tool - data source GUI.
I have some code that should execute multiple statements and then commit. I am using the Microsoft SQL Server 2005 JDBC Driver 1.1.
The statements only commit ifI close the connection to the SQL Server 2005 instance. I've looked at the example given at http://msdn2.microsoft.com/en-us/library/ms378931.aspx and it doesn't require closing the connection in order to commit.
Example:
public void doCall(Connection con) { try { /*Turn off AutoCommit.*/ con.setAutoCommit(false);
I am unable to send null values through the Microsoft JDBC 1.1 driver to a stored procedure. Please look at the thread already started on the SQL Server Transact SQL Forum at http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1772215&SiteID=1
I'm writing a java application that queries sqlserver 2005 (and 2000). In case the sql browser service is stopped I need to use the named pipe property or the port property, right? But how could the program know at runtime what is the port and what is the pipe name? And how should a connection string to sqlserver 2005 (and 2000) that includes named pipe, look like?