Ссылка на базу данных - тестовое соединение не работает - PullRequest
1 голос
/ 18 июня 2019

У меня есть две базы данных, в которых есть таблицы с одинаковой схемой.Я хочу сравнить две таблицы.Я узнал, что для перекрестных запросов к БД нужна ссылка на базу данных.

Я использую SQL-разработчик, и вот свойства соединения, которое работает

Connection Name: MyConn
UserName:SomeUser
password:SomePassword
Connection Type: Basic
Role: default
Host Name: 12.12.12.12
port:2521
SID: xe

Я устал от этой команды, чтобы создать ссылку на базу данных

CREATE DATABASE LINK MyDBLink
  CONNECT TO SomeUser
  IDENTIFIED BY "SomePassword" 
  USING '(DESCRIPTION=
  (ADDRESS=(PROTOCOL=TCP)(HOST=12.12.12.12)(PORT=2521))
  (CONNECT_DATA=(SID=xe)))';

Команда создает ссылку, но когда я пытаюсь проверить ссылку, соединение не работает.Время соединения истекает через 60 с.

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

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

Официальный способ обхода проблем с сетью - использовать Oracle Connection Manager. Но, по моему опыту, эту программу немного сложно настроить.

Другой вариант - создать базу данных на рабочем столе и создать две ссылки на базу данных для каждого сервера. Если эта база данных для настольных компьютеров используется только для связи с другими, то бесплатной версии Express Edition должно быть достаточно. Если вы идете по этому пути, будьте осторожны с проблемами производительности, когда задействованы 3 базы данных. Вы, вероятно, захотите сравнить хеши вместо реальных данных, чтобы избежать проблем с сетью.

0 голосов
/ 18 июня 2019

Database-Link находится между двумя базами данных и не является "исходящим" от вашего локального sqldeveloper / client.

Таким образом, даже если вы можете получить доступ к удаленной базе данных с локального клиента, удаленный сервер базы данных, на котором вы создали ссылку, может (и в этом случае действительно не достигает) цели ссылки на базу данных.

Сама ссылка на базу данных создается независимо от того, доступна ли удаленная база данных или неверные учетные данные и т. Д.

Если у вас есть такая возможность, вам следует напрямую войти на сервер базы данных базы данных, на которой вы создали ссылку, и проверить сетевое подключение к серверу базы данных, к которому вы хотите подключиться. Использование telnet может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...