Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.05.2024
Сообщений: 21

Удаленное подключение к SQLserver

10.02.2025, 14:16. Показов 3136. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Мне нужно удаленно подключится к удаленному QSLservery на другой машине в закрытой локальной сети.
Соединение по локальному хосту происходит удачно. Конек с программы DBeaver проходит, через свой проект не могу подключится
Текст в Python:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class SQLServer:
    
    name = 'sqlserver'
 
    types = dict( int=int,  # Целое число bigint=int,  # Большое целое число smallint=int,  # Маленькое целое число
    tinyint=int,  # Очень маленькое целое число decimal=float,  # Число с фиксированной точностью
    numeric=float,  # Число с фиксированной точностью float=float,  # Число с плавающей точкой
    real=float,  # Число с плавающей точкой (меньшей точности) char=str,  # Фиксированная длина строки
    varchar=str,  # Переменная длина строки text=str,  # Текст ntext=str,  # Юникод текст date=str,  # Дата
    datetime=str,  # Дата и время
    bit=bool,  # Логическое значение
    )
    
    def get_params(data):
        r = ['DRIVER={ODBC Driver 18 for SQL Server}']
        r.append(f'Server={data["host"] if "host" in data else "localhost"}' + (f',{data["port"]}' if 'port' in data else ''))
        r.append(f'Database={data["database"] if "database" in data else "master"}')
        if 'user' in data:
            r.append(f'User Id={data["user"]}')
        if 'password' in data:
            r.append(f'Password={data["password"]}')
        r.append('Trusted_Connection=Yes;Encrypt=No')
        return ';'.join(r)
 
    def check(params):
        with pyodbc.connect(params) as conn:
            pass
 
    def get_columns(params, table):
        with pyodbc.connect(params) as conn:
            with conn.cursor() as cur:
                cur.execute('select column_name, data_type from information_schema.columns where table_name=? order by ordinal_position', table)
                return [(name, SQLServer.types.get(type, str)) for name, type in cur.fetchall()]
    
    def get(params, table):
        with pyodbc.connect(params) as conn:
            with conn.cursor() as cur:
                cur.execute(f'select * from {table}')
                return cur.fetchall(
Данные которые ввожу для подключения к удаленной машине
Host:192.168.0.233\SQLEXPRESS Port: 33678 User:test Пароль: 123 БД:master Таблица:MSreplication_options
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2025, 14:16
Ответы с готовыми решениями:

Удаленная работа для Python программистов
Наверное многие в раздел Фриланса на этом сайте заглядывают очень редко, потому что работы для питонистов там практически нет (раз в...

Фреймворк Kivy и удаленная БД SQLite3
Доброго времени суток, Помогите пожалуйста мне с простеньким примером кода, в котором кнопка в мобильном приложении на kivy при...

Не работает exe, в котором подключена библиотека pynput
from pynput.keyboard import Key, Listener k = input("press close to exit4") Я скачал библиотеку pynput и pyinstaller, создал exe...

5
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,244
12.02.2025, 14:59
Piter2, надо проверить настройки межсетевого экрана. Но сначала надо проверить в принципе доступность порта с помощью telnet. Должен быть доступен порт 1433.
т.е. в командной строке выполнить telnet 192.168.0.233 1433.
0
0 / 0 / 0
Регистрация: 16.05.2024
Сообщений: 21
12.02.2025, 16:13  [ТС]
TCP 0.0.0.0:5357 RZH-03:0 LISTENING
TCP 0.0.0.0:10243 RZH-03:0 LISTENING
TCP 0.0.0.0:33678 RZH-03:0 LISTENING
TCP 0.0.0.0:49664 RZH-03:0
все норм
1433 отсутствует, хотя правило для него создовал
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,244
12.02.2025, 16:17
даже не знаю, что это вы такое показываете и зачем)
0
0 / 0 / 0
Регистрация: 16.05.2024
Сообщений: 21
12.02.2025, 16:26  [ТС]
не знаю как подключится и где искать проблему
Может лог поможет разобраться в проблеме
pyodbc.InterfaceError: ('28000', '[28000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]
При входе в систему пользователя "H-03\\Гость" произошла ошибка. (18456) (SQLDriverConnect); [28000]
[Microsoft][ODBC Driver 18 for SQL Server]Недопустимый атрибут строки подключения (0); [28000]
[Microsoft][ODBC Driver 18 for SQL Server][SQL Server]При входе в систему пользователя "H-03\\Гость" произошла ошибка. (18456);
[28000] [Microsoft][ODBC Driver 18 for SQL Server]Недопустимый атрибут строки подключения (0)')
0
 Аватар для kapbepucm
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,660
06.03.2025, 10:40
Я бы сказал, что понять проблему сложно, можно только догадываться- достаточно мало информации приводите.
Напишите и покажите тут минимальный запускабельный код (достаточно такого, чтобы клиент подключился к базе и вывел ок или не ок).
Также не совсем ясно, коли у Вас "удалённая закрытая локальная сеть" как там на маршрутизаторе дела с портами обстоят, что для "мира" открыто, как порты "проброшены" (если речь идёт MS SQL Server, то для работы он использует не один порт).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2025, 10:40
Помогаю со студенческими работами здесь

ConnectionRefusedError: [WinError 10061] Подключение не установлено, т.к. конечный компьютер отверг запрос на подключени
Пытаюсь делать web socket для юнити на python. Начал с простого, хочу чтобы сервак посылал рандомные цвета, чтобы менять их у объекта....

Подключение через модем
Здравствуйте! Скажите пожалуйста, что нужно знать об устройстве, чтобы подключиться к нему через модем? Немного опишу задачу: ...

подключение модулей
Подскажите пожалуйста, можно в программу на Python подключить модуль на Си

Подключение к MongoDB
Как подключить Python и в последующем создать базу данных, а также внести и удалить из нее данные в MongoDB? Добавлено через 50 секунд...

Подключение библиотеки Crypto. Если возможно, нужна ссылка на скачивание данной библиотеки
Возникли сложности с подключением библиотеки Crypto: import Crypto.Cipher.AES Выдает следующую ошибку: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru