Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 16.10.2021 19:58

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 10.06.2011 10:06 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
1. MS SQL сервер стоит и настроен и из локальной сети все работает без проблем при обращении к адресу 192.168.1.128
2. Появилась необходимость настроить работу с удаленных мест.
3. На сервере стоит проброс 1433 порта на котором висит MS SQL сервак.

Проблема: не открывается БД =(
Если указывать внешний IP адрес, то Provider меняется на SQLNCLI, и при этом вываливается ошибка:
"Ошибка 3706 в OpenDb line 21: Не удается найти указанного поставщика."
Строка: "Provider=SQLNCLI.1;Persist Security Info=False;Server=IP\Path;User ID=user;Initial Catalog=BASE;"
При провайдере SQLOLEDB тоже ничего не проходит.

Почему пишу тут:
1. Среда Microsoft SQL Server Management Studio спокойно входит по данному "IP\Path".
2. С третьего удалённого сервера при помощи php можно подключиться и прекрасно полазить по базе:
mssql_pconnect('IP:1433', 'login', 'pass'); и далее можно прекрасно выполнять любые запросы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 13:44 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
Дело в строке соединения с MS SQL.
Она формируется автоматически при задании параеметров (сервер, БД, пользователь, пароль, редакция Экспресс),
но вы можете выбрать один из трех вариантов.
Попробуйте "поиграть" с ней, поставьте (или снимите) галку "Редакция Экспресс" и т.п.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 14:02 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
"Редакция Экспресс" не помогает, пробовал ещё до написания треда.
Фактически на работающей программе я только сменил IP с локального на внешний и после этого перестало работать.
Telnet на 1433 проходит нормально, а вот программка не запускается.
И какой все таки должен быть Provider?

Если ставить OLEDB, то ошибка след. плана: [DBNETLIB][ConnectionOpen (Connect())]SQL-сервер не существует, или отсутствует доступ.

В логах сервер нету ничего. Хотя все остальные заходы из вне там присутствует (через студию или через php скрипт)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 14:25 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
Провайдер может быть любой (их тех трех перечисленных).
Вероятно, сетевые заморочки с IP-адресами, перезагрузите комп с сервером и локальный комп тоже.
Вы также можете задать вопрос об этом на форуме sql точка ru в разделе MS SQL Server.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 15:03 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
Ммм .. заработало след. образом:
"Provider=SQLNCLI10; Server=xxx.xxx.xxx.xxx; Uid=login; Database=QSBASE; Pwd=pass"
Только что бы такую строку ввести пришлось через реестр править и пароль в интерфейсе в открытом виде хранится ;)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 15:07 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
А почему через программу нельзя было?
Если программа не может соединиться с БД на MS SQL Server, то выдается диалоговое окно со всеми параметрами соединения.
Разве не так? В этом окне можно напрямую задать любую строку соединения (даже самую хитрую) или воспользоваться введением всех параметров.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10.06.2011 16:16 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
Не могу сказать .. по-моему после потери фокуса строка затирается на значение формируемое автоматом. Т.е. именно такой строки в ошибке нету, там везде SQLNCLI.1, User Id и т.д.
Нажимаю Ctrl+V, тыкаю ОК и ошибка, ибо неправильная строка подключения. Но и все равно не очень удобно выяснять .. какой провайдер мне нужен, что писать User ID или Uid, Initial Catalog или Database и т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16.06.2011 11:33 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
Немного понял в чем проблема ..
Если строка в реестре задана правильно и она рабочая, то база коннектится сразу и все хорошо, если есть какая то ошибка (например 1 символь в пароле не дописал), то после этого возникает форма правки настроек, которая при любом действии затирает строку и формирует на основании введенных данных её .. ну это ладно, возможно это просто мелочь.
Так же возникает другая проблема, что после введения в эту форму верных данных на этапе загрузки все равно вываливается ошибка, но потом при простом перезапуске коннект происходит нормально.


Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16.06.2011 12:41 
Не в сети

Зарегистрирован: 02.09.2010 11:27
Сообщения: 13
После пробуждения из S3 режима программа зависает и не реагирует ни на что, можно убить только через диспетчер.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16.06.2011 14:07 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
Вопросы по безопасности (где и как хранятся пароли и тп) не следует публиковать здесь, в публичном форуме. Об этом нужно сообщать нам в техподдержку. Минусы - о, да, они есть везде, мы постоянно работаем над их устранением и превращением их в плюсы ))

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB