[ 
https://issues.apache.org/jira/browse/OPENJPA-1029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Donald Woods updated OPENJPA-1029:
----------------------------------

    Description: 
If the Microsoft SQL Server JDBC Driver v1.2 or 2.0 is used instead of the jTDS 
driver, then the SQLServerDictionary will throw an exception while trying to 
parse the driverName "Microsoft SQL Server JDBC Driver" to determine the server 
version.  For the MS SQL JDBC driver, it should be using 
meta.getDatabaseMajorVersion() to determine the server version.  Also, the MS 
SQL JDBC driver was not being recognized correctly, so driverVendor was being 
set to VENDOR_OTHER instead of VENDOR_MICROSOFT.

java.lang.NumberFormatException: For input string: "JDBC"
        at 
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:447)
        at java.lang.Integer.parseInt(Integer.java:497)
        at 
org.apache.openjpa.jdbc.sql.SQLServerDictionary.connectedConfiguration(SQLServerDictionary.java:92)
        at 
org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:190)
        at 
org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:100)
        at 
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:584)
        at 
org.apache.openjpa.persistence.query.TestQueryTimeout.setUp(TestQueryTimeout.java:89)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at 
org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:455)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at 
org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:182)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        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:585)
        at 
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        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:585)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)


  was:
If the Microsoft SQL Server JDBC Driver is used instead of the jTDS driver, 
then the SQLServerDictionary will throw an exception while trying to parse the 
driverName to determine the server version.  It should be using 
meta.getDatabaseMajorVersion() instead.  Also, the MS SQL JDBC driver was not 
being recognized, so driverVendor was not getting set to VENDOR_MICROSOFT.

java.lang.NumberFormatException: For input string: "JDBC"
        at 
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:447)
        at java.lang.Integer.parseInt(Integer.java:497)
        at 
org.apache.openjpa.jdbc.sql.SQLServerDictionary.connectedConfiguration(SQLServerDictionary.java:92)
        at 
org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:190)
        at 
org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:100)
        at 
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:584)
        at 
org.apache.openjpa.persistence.query.TestQueryTimeout.setUp(TestQueryTimeout.java:89)
        at junit.framework.TestCase.runBare(TestCase.java:125)
        at 
org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:455)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at 
org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:182)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        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:585)
        at 
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
        at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
        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:585)
        at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
        at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)


        Summary: SQLServerDictionary causes NumberFormatException if MS SQL 
Server JDBC driver is used  (was: SQLServerDictionary causes 
NumberFormatException if MS SQL JDBC v2.0 is used)

> SQLServerDictionary causes NumberFormatException if MS SQL Server JDBC driver 
> is used
> -------------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1029
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1029
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: third-party
>    Affects Versions: 2.0.0
>            Reporter: Donald Woods
>            Assignee: Jeremy Bauer
>             Fix For: 2.0.0
>
>         Attachments: OPENJPA-1029-10x.patch, OPENJPA-1029-12x.patch, 
> OPENJPA-1029-13x.patch, OPENJPA-1029.patch, OPENJPA-1029.patch
>
>
> If the Microsoft SQL Server JDBC Driver v1.2 or 2.0 is used instead of the 
> jTDS driver, then the SQLServerDictionary will throw an exception while 
> trying to parse the driverName "Microsoft SQL Server JDBC Driver" to 
> determine the server version.  For the MS SQL JDBC driver, it should be using 
> meta.getDatabaseMajorVersion() to determine the server version.  Also, the MS 
> SQL JDBC driver was not being recognized correctly, so driverVendor was being 
> set to VENDOR_OTHER instead of VENDOR_MICROSOFT.
> java.lang.NumberFormatException: For input string: "JDBC"
>       at 
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
>       at java.lang.Integer.parseInt(Integer.java:447)
>       at java.lang.Integer.parseInt(Integer.java:497)
>       at 
> org.apache.openjpa.jdbc.sql.SQLServerDictionary.connectedConfiguration(SQLServerDictionary.java:92)
>       at 
> org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:190)
>       at 
> org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:100)
>       at 
> org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:584)
>       at 
> org.apache.openjpa.persistence.query.TestQueryTimeout.setUp(TestQueryTimeout.java:89)
>       at junit.framework.TestCase.runBare(TestCase.java:125)
>       at 
> org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:455)
>       at junit.framework.TestResult$1.protect(TestResult.java:106)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.framework.TestResult.run(TestResult.java:109)
>       at junit.framework.TestCase.run(TestCase.java:118)
>       at 
> org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:182)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       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:585)
>       at 
> org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
>       at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
>       at 
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
>       at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>       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:585)
>       at 
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
>       at 
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to