Поскольку исключение показывает, что ошибка находится в синтаксисе SQL, вероятно, в URL JDBC при чтении документации, Вы видите, что, когда порт не является specifed, двоеточие должно также быть опущено, попробуйте это:
.getConnection("jdbc:mysql://localhost/schema?user=user_name&password=pass_word")
Надеюсь, что это работает.
Спасибо @TheCleaner за руководство. Однако я нашел обходной путь, которым, как я думал, поделюсь, если кто-то еще столкнется с подобной ситуацией.
Уловка заключалась в установке SQL Server Express на промежуточный сервер, который я контролирую. Затем я добавил «Связанный сервер» к целевому экземпляру SQL Server на другом сервере.
TeamViewer VPN позволяет мне подключиться к промежуточному серверу SQL, а затем я могу запросить связанный сервер с моей машины разработки.
Небольшая поправка в моем коде позволяет выполнять запросы к связанному серверу «server.database.dbo.table», а не только «dbo.table», когда я нахожусь в режиме разработки.
См. Руководство Teamviewer здесь: http://www.teamviewer.com/en/res/pdf/TeamViewer7_Manual_RemoteControl_EN.pdf
Согласно стр. 21 при использовании TeamViewer VPN:
Примечание. Если вы подключаете локальный компьютер к удаленному через TeamViewer VPN, только эти два компьютера будут связаны друг с другом. виртуальная частная сеть. Других компьютеров в локальной сети нет. компьютер будет доступен.
Возможно, существует способ сообщить виртуальному адаптеру Teamviewer VPN на удаленном сервере трафик NAT через сервер SQL, но они не будут поддерживать его, и это может вызвать другие непредвиденные последствия для
Если вы разрабатываете инструменты, которым необходим доступ к этому SQL-серверу, не может ли кто-нибудь предоставить вам доступ к нему с вашего компьютера разработчика (через Teamviewer VPN, NAT, выполняя запросы только через брандмауэр и т. д.)?