2016-04-22 2 views
0

Я создал простую задачу java для того, чтобы сделать запрос к SQL-базе MySQL в Windows, используя библиотеку jdbc. Программа отлично работает на моем затмении. Я хочу использовать его как exe-файл (так что я могу отправить его другу, чтобы он мог его использовать). Я сделал банку (используя опцию экспорта на eclipse), чтобы он мог выполнить ее как exe-файл в окнах. Проблема в том, что когда он запускает файл jar на окнах, почему-то результаты запроса пустые. Я не уверен, в чем проблема. Это не на локальном хосте. Это, как я подключаю -Java и jdbc - exe runnable file

String connectionUrl = "jdbc:sqlserver://**.***.***.***;" +   "databaseName=&&&&&&&&;user=&&&&&&&&&&&;password=$$$$$$$$"; 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
con = DriverManager.getConnection(connectionUrl); 

Это ошибка я - не знаю, как справиться с этим:

java.lang.UnsupportedOperationException: Java Runtime Environment (JRE) version 1.8 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0 

У меня есть sqljdbc4.jar и sqljdbc4.jar файлы на эту папку.

Любые мысли? Спасибо!

+0

1) У вас конфликтующие термины JAR и EXE 2) Является ли ваш URI JDBC указателем на ту же таблицу базы данных и вы не используете свой код для локального хоста или чего-то еще? –

+0

Любые исключения? Вы регистрируете материал где угодно? Я предполагаю, что вы неправильно обрабатываете исключения, и ваша проблема становится незамеченной, что приводит к тому, что ваша программа выполняет функцию nit, как ожидалось. Был бы признателен, если бы вы дали нам больше кода для просмотра. – Wizard

+0

Я отправлю его в ближайшее время. Я выбираю на экспорт, чтобы содержать все банки, которые я использую, но все же я получаю сообщение об ошибке при экспорте - «Экспорт Jar с предупреждениями». Возможно, jdbc jar не включен в финальный файл jar? – user2950329

ответ

1

Похоже, вам необходимо изменить свою программу, чтобы она захватывала и распечатывала все ошибки и предупреждения во время выполнения.

Это также звучит, как вы хотите добавить функцию «проверки здоровья», чтобы подтвердить:

  1. программа работает на компьютере вашего друга,
  2. программа подключается к серверу MSSQL,
  3. в ожидаемая база данных находится на сервере, а
  4. ожидаемые данные существуют в базе данных.

=============================================================================================================================================== ======

ДОПОЛНЕНИЕ:

Спасибо за обновление вашего поста и обмена проблемы реального:

Это ошибка я - не знаю, как справиться с этим: java.lang.UnsupportedOperationException: Java Runtime Environment (JRE) версия 1.8 не поддерживается b y этот драйвер. Использование библиотеки классов sqljdbc4.jar, которая обеспечивает поддержку JDBC 4.0

Это звучит, как вы собрали на более старую версии Java (это хорошо), со старым MSSQL драйвером/JDBC (это хорошо, тоже) ...

... но ваш друг имеет NEW JRE 1.8, который не будет работать с новым драйвером.

два решения:

  1. Попросите друга удалить его JRE, а затем сделать чистую установку версии Java. Например, вы можете найти более старую JRE 1.7 здесь:

  2. Обновить драйвер MSSQL к текущей версии (sqljdbc 4.2 является хорошим выбором), убедитесь, что он работает для вас, то ваш друг установить тот же драйвер MSSQL , Вы можете скачать его здесь:

https://msdn.microsoft.com/en-us/library/mt484311%28v=sql.110%29.aspx

PS: Третий вариант - возможно лучший - для как вас установить же версию Java и же версия драйвера MSSQL JDBC.

PPS: В будущем, если у вас есть сообщение об ошибке, скопируйте/вставьте его дословно в исходное сообщение. Хорошего сообщения об ошибке очень часто достаточно, чтобы немедленно решить проблему.

+0

Я не думаю, что удаление Java 8 должно быть путем для решения проблемы. Java 7 можно установить сбоку, а затем использовать для выполнения кода. –

+0

Спасибо за ответ - я просто попытался запустить его как exe на свой компьютер и получил ту же ошибку ... – user2950329