Я пытаюсь создать приложение JSF с помощью Eclipse IDE. Я использую удаленный сервер MySQL в качестве своей базы данных. Как я соединяюсь с этой удаленной базой данных для того, чтобы составить таблицы и получить доступ к ним?
Просто укажите IP / имя хоста удаленной машины в строке подключения к базе данных вместо localhost
. Например:
jdbc:mysql://192.168.15.25:3306/yourdatabase
Убедитесь, что нет брандмауэра, блокирующего доступ к порту 3306
Также убедитесь, что пользователь, с которым вы соединяетесь, имеет право подключаться с этого конкретного имени хоста. Для сред разработки это можно сделать по 'username'@'%'
. Проверьте руководство по созданию пользователя и руководство GRANT
.
Необходимо добавить -cp file.jar вместо -cp.
Последний возьмет только class-файлы. BTW: почему бы не использовать среду IDE, такую как netbeans, eclipse или intelliJ?
-121--4998056-Я нахожусь в одной лодке с вами, занимаясь большим количеством приложений бизнес-типа, ничего «веселого», как игры, компиляторы или поисковые системы.
Ваш пробег будет отличаться, но, по крайней мере, по моему собственному опыту, многие команды разработчиков неохотно прыгают прямо в F #, потому что никто другой в команде не знает и даже не слышал об этом. И сразу же перед битой приходится бороться с такими вопросами, как «что это делает иначе, чем C #?» Если вы можете убедить своего босса позволить вам написать несколько демонстрационных приложений с ним, перейдите к этому!
При этом я нахожу, что C # не очень хорош в бизнес-правилах, но он обрабатывает GUI как чемпион; Неизменность F # делает разработку GUI неловкой, но бизнес-правила и рабочие процессы чувствуют себя естественно. Таким образом, два языка имеют свои сильные стороны и комплиментарны слабости друг друга.
В моих собственных бизнес-приложениях F # выполняет кружки вокруг C # в нескольких областях:
асинхронные рабочие процессы F # и процессоры почтовых ящиков на порядки легче работать с ними, чем с собственными потоками и даже параллельными библиотеками задач. С момента использования процессоров почтовых ящиков для межсетевой связи, я даже не помню, когда в последний раз мне приходилось блокировать или thread.join () что-либо для синхронизации вообще.
Определение механизмов бизнес-правил и DSL с объединениями FTW! Каждое нетривиальное приложение LOB, над которым я когда-либо работал, имеет свой язык и интерпретатор с полукоженными правилами, и почти всегда основано на рекурсивном включении перечисления, чтобы пройтись по правилам и найти совпадение. Текущий проект, который у меня есть, теперь содержит более 1300 общедоступных классов, 900 или около того являются простыми классами контейнеров для представления правила. Я думаю, что представление правил как профсоюза F # значительно уменьшит вздутие кода и сделает лучший двигатель.
Неизменяемый код просто работает лучше - если вы получаете новый объект с недопустимым состоянием, вам не нужно искать далеко, чтобы найти нарушающую строку кода, все, что вам нужно знать, находится в стеке вызовов. Если у вас есть изменяемый объект с недопустимым состоянием, иногда приходится тратить много времени на его отслеживание. Вы можете написать неизменяемый код в C #, но его действительно трудно не упасть на мутабельность, особенно когда вы изменяете объект в цикле.
Я ненавижу нули. Я не могу дать точную оценку, но кажется, что половина ошибок, которые мы получаем в производстве, являются пустыми ссылочными исключениями - объект неправильно инициализирован, и вы не знаете об этом до тех пор, пока у вас не будет 30 стековых кадров в коде. Я думаю, что F # поможет нам написать больше свободного кода с первого раза.
C # обычно хорошо работает, когда:
Вы пишете GUI-код или работаете с изменяемыми по своей сути системами.
Предоставление DLL или веб-службы множеству различных клиентов.
Ваш босс не позволит вам использовать нужные инструменты;)
Поэтому, если вы сможете преодолеть «почему мы хотим использовать новое языковое препятствие», я думаю, что F # действительно облегчит вашу жизнь.
-121--1332807-Необходимо передать IP/имя узла удаленного компьютера в последовательности подключения.
import java.sql.*;
import javax.sql.*;
public class Connect
{
public static void main (String[] args)
{
Connection conn = null;
try
{
String url = "jdbc:mysql://localhost:3306/mydb";
Class.forName ("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection (url,"root"," ");
System.out.println ("Database connection established");
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
if (conn != null)
{
try
{
conn.close ();
System.out.println ("Database connection terminated");
}
catch (Exception e) { /* ignore close errors */ }
}
}
}
}
Кроме того, вы должны убедиться, что конфигурация сервера MySQL (/etc/mysql/my.cnf, / etc / default / mysql в Debian) не " t активирован "skip-network", и он не привязан исключительно к интерфейсу обратной связи (127.0.0.1), но также и к интерфейсу / IP-адресу, к которому вы хотите подключиться.