sqlalchemy, подключитесь к экземпляру sqlexpress на другом порту - PullRequest
1 голос
/ 05 мая 2020

Я успешно подключаюсь к своему экземпляру sqlexpress из sqlalchemy со строкой подключения:

connection_str = 'mssql+pyodbc://mylaptop\sqlexpress/master?driver=SQL+Server+Native+Client+11.0&trusted_connection=yes'

Как мне подключиться к экземпляру sql через порт, отличный от порта по умолчанию, это это возможно?

connection_str = 'mssql+pyodbc://mylaptop\sqlexpress:1433/master?driver=SQL+Server+Native+Client+11.0&trusted_connection=yes'

- это то, что я ожидал бы от строки подключения, но это возвращает ошибку:

(pyodbc.OperationalError) ('08001', '[08001] [Microsoft][SQL Server Native Client 11.0]TCP Provider: No connection could be made because the target machine actively refused it.\r\n (10061) (SQLDriverConnect); [08001] [Microsoft][SQL Server Native Client 11.0]Login timeout expired (0); [08001] [Microsoft][SQL Server Native Client 11.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. (10061)

Я пробовал несколько комбинаций с портом, но не Не видите допустимую комбинацию?

1 Ответ

1 голос
/ 05 мая 2020

В URI подключения SQLAlchemy вы можете указать SQL экземпляр сервера одним из двух способов:

  1. server_name\instance_name, или
  2. server_name:port

Вы должны использовать только один или другой. Если вы указываете instance_name, тогда номер порта предоставляется службой браузера SQL на server_name. Если вы укажете порт, фактическое имя instance_name не имеет значения, потому что номер порта уже известен.

...