С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
1

Соединение с БД SQL локальная сеть

14.10.2015, 01:40. Показов 2537. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую товарищи!

Вообщем то все понятно с локальным подключением к БД. Используя ADOConnection, нарисовать клацая мышкой Connection string, вбив логин и пароль не вопрос.
Тем не менее что-то оно не хочет так просто работать в локальной сети. Не коннектится к БД ивсе тут. Причем в выпадающем списке имя сервера доступно, при создании Connection String. Разумеется сервер пингуется.
Поначалу приложение ругалось на несуществующий провайдер - Native SQL Client 11.x. Локальльно он есть, на удаленной машине его нет. И как туда его запихать я не знаю. На обеих машинах я поставил Embarcadero XE8, для осуществления попыток. На машине с установленным сервером SQL Провайдер SQL Native Client есть - на второй нет. Может в этом причина? Тем не менее, Зашел в SQL Management Studio посмотрел список доступных клиентов - нашел одного имеющегося так же и на удаленной машине - это Microsoft OLE provider for SQL. Попытка соединиться с его помощью - FAIL. Сервер не существует или аутентификация провалилась (Только по-английски).
Как решить проблему?
Как заставить приложение подключаться к БД с любой машины в локальной сети?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2015, 01:40
Ответы с готовыми решениями:

Беспроводное соединение (WI-FI) и локальная сеть (Корпоративная)
Есть одно беспроводное соединение(WIFI) через которого производится выход в интернет и и локальная...

Windows 8: когда делаю VPN соединение общим пропадает локальная сеть
Всем привет у меня следующая проблема: Когда я делаю VPN соединеие общим (позволяю другим...

Настроить сеть на Windows 10 по схеме: USB модем - компьютер - роутер - локальная сеть
Нужно раздавать инет с usb-модема через главный комп в локальную сеть (используя роутер для...

Интернет + сеть головного = моя локальная сеть
Доброго дня форумчане, подскажите начинающему админу пожалуйста. есть у меня сервер с 3-мя...

16
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
14.10.2015, 03:33 2
В настройке подключения по кнопке Test коннектится?
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
14.10.2015, 17:59  [ТС] 3
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В настройке подключения по кнопке Test коннектится?
На локальной машине да, на любой другой нет.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
14.10.2015, 18:51 4
Цитата Сообщение от newline Посмотреть сообщение
На локальной машине да, на любой другой нет.
Капайте ODBC драйвера. Проблема в них а не в вашем коде или компонентах билдера. При попытке тестирования коннекции из панели управления будет тоже самое.
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
15.10.2015, 19:36  [ТС] 5
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Капайте ODBC драйвера. Проблема в них а не в вашем коде или компонентах билдера
Итак. Драйвер ODBC переустановил на удаленной машине.
Не помогло.
Может делаю что-то не так?
Действия:
1. Поставил туда Embarcadero, открыл проект там.
2. Задаю Connection string для ADOConnection
3. Замечаю что список возможных провайдеров отличается от списка провайдеров на машине с установленным SQL сервером
4. Вместо Native Client 11 выбираю OLE DB Provider for SQL Server. Ничего лучше не вижу.
5. Следующая вкладка из выпадающего списка беру имя своего сервера - оно там есть.
6. Вбиваю логин/пароль к БД.
7. Select database on srver. Клац чтобы выпадающий список увидать и... ждем... 10 секунд... Окно с заголовком пошел нафиг с новым годом Microsoft Data Link Error. И с содержанием [DBNETLIB][ConnectionOpen (Connect()).] SQL Server does not exist or access denied.

Во-первых сервер еще как Экзист, а во-вторых с хрена ли Акцесс денайд если логин и пароль верны и это аж самые навороченный юзер. Как sa прямо.
В чем проблема может быть?
Можно ли как-то добавить в список на удаленной машине Native Client?
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
15.10.2015, 19:43 6
Та тебе там не билдер надо в первую очередь ставить а клиент доступа к серверу. из панели управления коннекция точно так же тестится. вообще суть ADO/ODBC - создание коннекций и источников данных на основе ( с учетом о)учетных записей пользователей винды, и предоставление доступа к этим источникам прикладным прогам (на любой платформе). Т.е добится надо чтоб коннектилось и вообще без билдера, это технология оси, билдер только к уже созданному в оси источнику данных подключается.

Добавлено через 33 секунды
Цитата Сообщение от newline Посмотреть сообщение
Можно ли как-то добавить в список на удаленной машине Native Client?
Должен быть в комплекте SQL сервера к которому пытаешься приконнектится
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
15.10.2015, 22:55  [ТС] 7
Скачал все эти куски с помощью которых можно приконнектиться. Все эти клиенты... Осталось правильно определить какой из файлов установщиков тот что надо. Скачал с MSDN вот тут http://www.microsoft.com/en-us... x?id=11988 Правда у меня SQL "14, но думаю разницы не будет - клиенты те же

Добавлено через 1 час 9 минут
Или вот на 14 нашел http://www.microsoft.com/en-in... x?id=42295
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.10.2015, 17:09 8
Microsoft® ODBC Driver 11 for Microsoft SQL Server® - Windows - вот это собственно говоря и есть ODBC драйвер, который надо установить на клиенте
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
16.10.2015, 20:10  [ТС] 9
Эффект равен нулю от этого.

Добавлено через 24 минуты
Зато нашел установщик sqlncli - это как раз тот самый клиент 11. И он, таки у меня есть теперь в списке возможных клиентов на удаленной машине.
Половина дела есть.
Теперь дальше. Нет соединения так как:
SQL Server Native Client Data Link Error.
Появляется секунд через 30 после попытки выбрать имя базы на сервере.
Содержание не буду цитировать. Смысл такой: Подключение провалено. Проверьте имя и пароль (проверено) и убедитесь что ваш сервер может принимать удаленные подключения. Где это проверить куда лезть? SQL 2014.

Добавлено через 44 минуты
Нашел эту галочку "Allow remote connections to this server" Она и так есть.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
16.10.2015, 22:01 10
Цитата Сообщение от newline Посмотреть сообщение
Где это проверить куда лезть? SQL 2014.
Попробуй через Telnet ему на порт постучаться. Может он то и ждет с удаленных машин коннекта а винда их отсекает. Там кстати забыли сказать проверить IP сервера.

Не по теме:

Цитата Сообщение от newline Посмотреть сообщение
Половина дела есть
Ну да. драйвера установлены, прога к датасорсу подключится уже может. Остальное по большому счету заботы сетевого администратора.



Добавлено через 3 минуты
Да еще. в SQL есть ли юзер с правами доступа с этого хоста? У нее разделение прав идет не только по паре логин/пароль, а по тройке логин хост пароль.
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
17.10.2015, 01:35  [ТС] 11
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
не только по паре логин/пароль, а по тройке логин хост пароль.
ДЫА!?? Ща я гляяяну.
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
17.10.2015, 02:00 12
Цитата Сообщение от newline Посмотреть сообщение
ДЫА!?? Ща я гляяяну.
Причем права выставляются не на доступ вообще, а на доступ к конкретному объекту, начиная от базы и заканчивая конкретной колонкой в конкретной таблице. У root обычно по умолчанию доступ localhost, вполне возможно что для root вообще только localhost. Точнее не скажу, т.к. MS SQL не пользовался, цеплялся через ADO только к MySQL
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
20.10.2015, 20:51  [ТС] 13
Хм. А где искать то то эти параметры прав доступа.
Ну ясно что Microsoft SQl management Studio.
Там разворачивающиеся списки - Security - Logins - Тот Юзер которого завел.
А дальше где копать?
0
2082 / 1573 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
20.10.2015, 21:59 14
напиши в консоли сервера запрос
SHOW GRANTS; покажет все текущие привелегии.
Добавление привелегий осуществляется оператором SQL
GRANT
Синтаксис для конкретного сервера в мануале по нему.

Добавлено через 2 минуты
Во всяком случае для MySQL только так и делалось, и это должен поддерживать любой SQL сервер, причем примерно одинаково (с разницей до расширений).
А возможность редактирования всего этого визуальными утилитами у каждого своя так же как и наличие таких возможностей.
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
30.10.2015, 01:23  [ТС] 15
Вообщем так получается. На обоих компьютерах установлен одинаковый набор ПО. SQL присутствует. SQL Server Management Studio тоже. К локальным БД Manager Studio цепляется на раз. Но если перед подключением выбрать иной сервер - он виден в выпадающем меню, (то есть найти его система в состоянии в локальной сети) то подключение не будет возможно. Выбираю правильную пару Логин/пароль и фиг вам.

Окно: Connect to Server.

Содержание:

Cannot connect to Workstation (например)
Additional information
A network related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found (Ага, как же я ж его выбрал из выпадающего меню. Занчит таки найден.) or not accessible (Вот почему это?) Трум пум пум
Provider: Named Pipes Provider, error 40 - Could not open connection to SQL server. Microsoft SQL server Error - 5.
Access Denied.
Вот что не так с доступом. Почему он невозможен?
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
30.10.2015, 01:47 16
На всякий случай стоит проверить настройки файрвола на машинах. Возможно не открыты нужные порты.
0
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 430
30.10.2015, 23:29  [ТС] 17
Вырубил файерволл вообще. Помогло. Спасибо за совет.
0
30.10.2015, 23:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2015, 23:29
Помогаю со студенческими работами здесь

Локальная сеть и сеть интернет , как соединить их ? чтоб интернет попал в локалку?
Локальная сеть и сеть интернет , как соединить их ? Server 2003 Standart Ed. 2 сетевые карты ...

Соединение с БД (соединение через сеть)
Доброго времени суток. Помогите пожалуйста новичку. Создал в Visual Studio Net 2010 C++ проект с...

Локальная сеть
Доброго времени суток уважаемы...у меня проблема такая я се все волосы уже оторвал и выпил много...

Сеть локальная
Привет. Evolve прекратил свое существование ищу как можно нормально поиграть по сети. Говорят...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru