It turned out that everything works fine once I upgraded from java 6 to java 7. Don't know if this a well known problem with the combination of Sql server and java 6 but everything works for me now. I also upgraded openjpa in the process so that might have been part of it.
/Bengt Den 11 sep 2015 3:34 em skrev "Bengt Rodehav" <be...@rodehav.com>: > We have just updated our SQL Server from 2008 to 2014. We are using > OpenJPA 2.1.1. We used to use version 3.0 of Microsoft's JDBC driver. > However, it didn't work with 2014. Somewhere I read that I need at least > version 4 of the JDBC driver in order to work with SQL Server 2014 but I > just cannot get this to work. > > It should be noted that this particular software runs on Java 1.6. > > I do manage to create a connection to SQL Server but I then get a stack > trace and the connection is terminated after that. Here is the exception: > > java.lang.NullPointerException > at > com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getResultSetWithProvidedColumnNames(SQLServerDatabaseMetaData.java:308) > at > com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData.getColumns(SQLServerDatabaseMetaData.java:623) > at > org.apache.commons.dbcp.DelegatingDatabaseMetaData.getColumns(DelegatingDatabaseMetaData.java:218) > at > org.apache.openjpa.lib.jdbc.DelegatingDatabaseMetaData.getColumns(DelegatingDatabaseMetaData.java:145) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingDatabaseMetaData.getColumns(LoggingConnectionDecorator.java:776) > at > org.apache.openjpa.lib.jdbc.DelegatingDatabaseMetaData.getColumns(DelegatingDatabaseMetaData.java:145) > at > org.apache.openjpa.jdbc.sql.DBDictionary.getColumns(DBDictionary.java:4063) > at > org.apache.openjpa.jdbc.sql.SQLServerDictionary.getColumns(SQLServerDictionary.java:162) > at > org.apache.openjpa.jdbc.schema.SchemaGenerator.generateTables(SchemaGenerator.java:524) > at > org.apache.openjpa.jdbc.schema.SchemaGenerator.generateSchema(SchemaGenerator.java:364) > at > org.apache.openjpa.jdbc.schema.SchemaGenerator.generateSchemas(SchemaGenerator.java:300) > at > org.apache.openjpa.jdbc.schema.SchemaTool.getDBSchemaGroup(SchemaTool.java:1163) > at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:363) > at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:340) > at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:505) > at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:456) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122) > at > org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:210) > at > org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) > at > org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) > at > org.apache.aries.jpa.container.impl.CountingEntityManagerFactory.createEntityManager(CountingEntityManagerFactory.java:70) > at > org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry.getCurrentPersistenceContext(JTAPersistenceContextRegistry.java:131) > at > org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.getPersistenceContext(JTAEntityManager.java:86) > at > org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.getCriteriaBuilder(JTAEntityManager.java:391) > at > se.digia.skistory.domain.impl.CustomerService.findCustomers(CustomerService.java:29) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:50) > at > org.apache.aries.blueprint.proxy.Collaborator.invoke(Collaborator.java:91) > at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:78) > at > se.digia.skistory.domain.impl.$CustomerService26980107.findCustomers(Unknown > Source) > at > se.digia.skistory.domain.api.ICustomerService$$Proxy.findCustomers(Unknown > Source) > at > se.digia.skistory.web.ApiHandler.doAutocompleteCustomerNames(ApiHandler.java:175) > at se.digia.skistory.web.ApiHandler.handle(ApiHandler.java:57) > at se.digia.skistory.web.HistoryServlet.doGet(HistoryServlet.java:61) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1359) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:74) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) > at > org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) > at > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) > at > org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) > at > org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) > at > org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) > at > org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:359) > at > org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:275) > at > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > at > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > at > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344) > at > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:272) > at > se.digia.web.framework.server.security.IniFilter.doFilterInternal(IniFilter.java:78) > at > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478) > at > org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941) > at > org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > at > org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) > at org.eclipse.jetty.server.Server.handle(Server.java:345) > at > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441) > at > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) > at > org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) > at java.lang.Thread.run(Thread.java:662) > > Has anyone managed to get Open JPA 2.1.1 working with SQL Server 2014? (on > Java 1.6) > > Best regards, > > Bengt Rodehav >