Не удается заставить драйвер JTDS принимать sendStringParametersAsUnicode = false?

Я использовал net.sourceforge.jtds.jdbc.Driver в качестве драйвера от MSSQL для всех моих приложений. У меня были проблемы с производительностью в подготовленном операторе, и я узнал, что sendStringParametersAsUnicode = false должен решить проблему. К сожалению, я не могу заставить драйвер принять это значение. Я МОГУ заставить драйвер Microsoft com.microsoft.sqlserver.jdbc.SQLServerDriver нормально принять параметр:

jdbc:sqlserver://servername:1433;databaseName=dbname;sendStringParametersAsUnicode=false

работает в persistence.xml и в моем ds.xml. Готовые заявления идут быстро, 100 за 22 секунды.

Однако я не могу получить такой же прирост производительности от JTDS. Он по-прежнему зависает вокруг подготовленного оператора, занимая несколько секунд на каждой итерации.

Я пробовал несколько вариантов строки и видел такое же отставание в своих тестах (persistence.xml с Hibernate.connection.url) и Server с JTA и ds.xml.

jdbc:jtds:sqlserver://server:1433/dbname;sendStringParametersAsUnicode=false

jdbc:jtds:sqlserver://server:1433;sendStringParametersAsUnicode=false;databaseName=dbname

jdbc:jtds:sqlserver://server:1433;sendStringParametersAsUnicode=false;selectMethod=cursor;socketKeepAlive=true;databaseName=dbname

Во всем, что я читал, говорится, что драйвер Microsoft работает медленнее, и у моей компании были проблемы с ним в прошлом. Я бы очень хотел использовать JTDS, если это возможно, но не могу дождаться подготовленного оператора в течение 10 секунд!

У кого-нибудь были идеи?

Спасибо

6
задан javatestcase 31 January 2012 в 07:09
поделиться