Как подключиться к базе данных PostgreSql в контейнере docker (linux) с рабочего стола Windows через vbscript

Я столкнулся со следующей ошибкой при попытке подключиться к базе данных PostgreSql в контейнере докеров (linux) с рабочего стола Windows через vbscript:

Поставщик Microsoft OLE DB для драйверов ODBC (30, 11): FATAL: ошибка аутентификации пароля для пользователя «dev» FATAL: ошибка аутентификации пароля для пользователя «dev»

Вот демонстрационный vb-code:

Dim cn
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
 
  'Open the Postgre Databse connection (Driver must be installed)
  cn.Open "Driver={PostgreSQL ANSI};" & _
          "Server=localhost;" & _
          "Port=5432;" & _
          "UID=dev;" & _
          "PWD=dev;" & _
          "Database=dbname;"
                    
  rs.Open "SELECT * FROM tablename", cn

  While Not rs.EOF
    WScript.Echo( rs("id") & ": " & rs("name"))
   rs.MoveNext
  Wend

А вот docker-compose.yml:

version: "3.8"

services:
  anon-db:
    image: postgres:9.6.3
    environment:
      POSTGRES_USER: dev
      POSTGRES_PASSWORD: dev
      POSTGRES_DB: dbname
    ports:
    - 5432:5432
    volumes:
      - anon-pgdata:/var/lib/postgresql/data
    container_name: anon-db

Vbscript выше отлично работает с неконтейнерной базой данных PostgreSQL. Кто-нибудь может понять, а что не так с настройками контейнера или еще с кодом? Данная ошибка говорит о проблеме с паролем / аутентификацией, но я не понимаю, почему.

0
задан 18 January 2021 в 16:43
1 ответ

Я нашел решение самостоятельно - причина проблемы заключалась в том, что если одновременно с неконтейнеризированным postgre-сервером работал контейнеризированный (т.е. хост-экспонированный) postgre-сервер, то соединение не работало.

После выключения неконтейнеризированного postgre-сервера соединение с контейнеризированным postgre-сервером происходило нормально.

Намек на это был в последнем комментарии по следующей ссылке: https://social.msdn.microsoft.com/Forums/windows/es-ES/6a2fda0a-69b1-4503-8aee-a223e4e9a9d2/fatal-password-authentication-failed-for-user?forum=netfxes

0
ответ дан 24 April 2021 в 02:15

Теги

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