Получение всех решений предиката в Прологе

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

Решение: свяжите его с другим портом и попробуйте подключиться к нему.

Вы можете привязать другой адрес, используя local_bind_address=('0.0.0.0', 1234) (это будет ваш целевой локальный адрес / порт, к которому он будет привязан) в ваших аргументах SSHTunnelForwarder.

Таким образом, ваше соединение TunnelForwarder должно быть примерно таким

server = SSHTunnelForwarder(
    ('172.17.9.125', 22),
    ssh_password="123456",
    ssh_username="root",
    local_bind_address=('0.0.0.0', 1234),
    remote_bind_address=('127.0.0.1', 3306))

И теперь будет установлено соединение с port 1234

database = pymysql.connect(host='127.0.0.1',
                           port=1234,
                           user='root',
                           passwd='root')


db = pymysql.connect(host='127.0.0.1', port=1234, user='root', passwd='root', db='TestDB')
5
задан Kai 10 May 2009 в 21:29
поделиться

1 ответ

один способ - сделать что-то вроде

print_all_solutions :-
  solution(Sol),
  write(Sol),
  fail. % this causes backtracking
print_all_solutions. % succed

, другой - использовать специальный предикат forall, как показано ниже:

forall(solution(Sol), write(Sol))
14
ответ дан 18 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: