Синтаксис URL для подключения к серверу с клиентской стороны

Я обошел Интернет по этому вопросу, и я просто не могу понять это.

Я разрабатываю приложение Java на Netbeans, и я подключаюсь к движку базы данных H2 через среду NetBeans. Я не заинтересован в использовании консоли.

Код для подключения к H2 следующий (со стороны клиента):

Connection connt = null;
String url = "jdbc:h2:tcp://" + SERVER_IP + ":" + SERVER_PORT + "//C:/Databases/businessApp;";
connt = DriverManager.getConnection(url, "sa", "");

Когда код достигает метода .getConnection() , он остается там и ничего не делает. Я почти уверен, что что-то не так с синтаксисом URL.

SERVER_IP and SERVER_PORT are defined earlier and are not null.

1
nl ja de
Удалите из списка URL-адрес двоеточие (;) после businessApp .
добавлено автор Dhinakar, источник
Вы начали сервер H2?
добавлено автор Thomas Mueller, источник
Все еще не работает. Любые другие идеи? Если я использую следующий код, он работает, когда я его использую. Я запускаю сервер и выполняю роль клиента: String url = "jdbc: h2: \\ Базы данных \\ businessApp"; Но я хочу, чтобы он подключался и с других компьютеров
добавлено автор Nadeem Saad, источник
Да, я начал сервер H2! Я проверил его, введя ip: порт в браузере и, следовательно, проверив соединение.
добавлено автор Nadeem Saad, источник
Код для запуска сервера выглядит следующим образом: import org.h2.tools.Server; public class startWebServer {Сервер сервера; public void webServer() {try {server = server.createWebServer (новый String [] {"-trace"}). start (); System.out.println (server.getStatus ()); } catch (Exception ex) {System.out.println ("Ошибка с сервером:" + ex.getMessage ()); }} public static void main (String [] args) {startWebServer webServ = new startWebServer (); webServ.webServer (); }}
добавлено автор Nadeem Saad, источник
Я изменил «Server.createWebServer» на «Server.createTcpServer», и теперь он работает, но только на моем компьютере. Если я пытаюсь подключиться с другого компьютера, это не сработает. Я также изменил SERVER_IP и SERVER_PORT на localhost в соответствии с документацией H2. Есть идеи?
добавлено автор Nadeem Saad, источник
Это обновление: я нашел что-то, называемое h2.bindAddress. Я установил адрес для моего локального хоста. Будет ли это работать для удаленного доступа и НЕ для локального доступа? Для локального доступа он работает даже без привязки адреса. Я действительно борюсь с этим, и мне нужна помощь. благодаря
добавлено автор Nadeem Saad, источник

2 ответы

Я думаю, что это ваша заключительная строка подключения, которая выглядит как

"jdbc:h2:tcp://192.168.1.154:8080//C:/Databases/businessApp"

и h2, по-видимому, не распознает пути UNC.

Вышеупомянутое в GNU/Linux вместо этого будет работать из-за различного соглашения, используемого для путей:

"jdbc:h2:tcp://192.168.1.154:8080/home/user/Databases/businessApp"

Решение, которое я нашел, это добавить косую черту после номера порта, поэтому ваша строка станет:

"jdbc:h2:tcp://192.168.1.154:8080/C:/Databases/businessApp"

это работает как в Linux, так и в Windows

0
добавлено

Я думаю, что полуколока (;) после «businessApp» является виновником. Попробуйте удалить его.

0
добавлено
Все еще не работает. Любые другие идеи?
добавлено автор Nadeem Saad, источник
Если я использую следующий код, он работает, когда я его использую. Я запускаю сервер и выполняю роль клиента: String url = "jdbc: h2: \\ Базы данных \\ businessApp"; Но я хочу, чтобы он работал и с других компьютеров.
добавлено автор Nadeem Saad, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async