VilgelmKaizer |
Отправлено: 03.10.2006, 17:38 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 38
|
Вопрос не праздный.
Суть его в следующем. Есть клиентская программа, написанная в Builder c использование ADOQuery(посылает простенький запрос на сервер — другой комп).
Если на клиентской машине установлен SQL сервер или хотя бы его клиент то программа работает нормально(т.е. посылает запрос на сервер — другую машину и получает ответ), но если клиент на этой машине не установлен то при попытке подключиться к серверу — на другом компе и выполнить запрос ничего не происходит.
Машина физически подключена к серваку и имеет логический доступ но мое приложение на ней работает не хочет. Ставлю на нее SQL server — все работает.
Возможно нужно скомпилить клиентскую прогу с какой-нибудь dll-кой.
Подскажите с какой(название и где ее найти и как воткнуть в проект).
|
|
olegenty |
Отправлено: 04.10.2006, 08:28 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
всё проще намного — MDAC (MDAC_TYP.EXE) ставь на те машины, где запускаешь прогу.
|
|
VilgelmKaizer |
Отправлено: 04.10.2006, 10:40 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 38
|
Можно ли ничего на эти машины не ставить, а дополнить мою приграмму чем-нибудь? Если можно то чем именно? |
|
olegenty |
Отправлено: 04.10.2006, 11:05 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
1. начиная с определённой версии OS MDAC входит в поставку
2. можно написать инсталлятор, в который зашить свою прогу и MDAC_TYP и ставить MDAC_TYP при необходимости (что я и делаю)
|
|
VilgelmKaizer |
Отправлено: 05.10.2006, 17:16 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 38
|
Исходные данные:
Имеется СЕРВЕР — машина на которой установлен и работает SQL Server 2000, СЕРВЕР работает под управлением
Windows2003.
Имеется офисная сеть примерно из 50 машин на которых установлена Windows XP.
По умолчанию пользователи офисных компьютеров не имеют доступа к серверу на прямую, и не должны его иметь -
этого требует безопасность, т.е. диск сервера они подключать не могут.
Клиенты SQL Сервера на их машинах тоже не установлены.
Можно ли получить доступ из киентской программы к SQL серверу(имея login и pass пользователя от SQL SERVER`a)
установленному на СЕРВЕРЕ минуя доступ к самому серверу? Или нужно обязательно иметь доступ к СЕРВЕРУ?
Если можно то как это реализовать программно и какой логический механизм? |
|
Миshук |
Отправлено: 05.10.2006, 18:40 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Приветствую!
QUOTE | Или нужно обязательно иметь доступ к СЕРВЕРУ? | Вообще не обязательно. если знаешь имя SQL-сервера, попробуй на одном из компов сети создать udl-файл, в котором укажи имя SQL-сервера, а также имя и пароль. потом поробуй выбрать какую нибудь базу(ниже в выпадающем списке). если не заругается и пройдет проверка соединения — юзай эту udl-ку в своей клиентской программе для соединеия с базой.
P.S. что-то мне сначала показалось что у тебя есть администраторский логин и пароль SQL-сервера. Однако, вся эта байда будет работать если учетная запись СКЛ сервера, логин и пароль которой у тебя есть, содержит права юзера того компа, с которого ты хочешь получить доступ к SQL-серверу
|
|
olegenty |
Отправлено: 09.10.2006, 09:29 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
без клиентской части нихрена работать не будет.
клиентская часть — ничто иное, как OLEDB провайдер MSSQL, либо его ODBC драйвер. вот они-то и содержатся во MDAC_TYP.EXE. отсюда вывод: если в системе отсутствует провайдер либо драйвер, то никакое знание паролей не поможет.
|
|
Миshук |
Отправлено: 09.10.2006, 11:09 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
Приветствую!
Ну если VilgelmKaizer грит что QUOTE | Имеется офисная сеть примерно из 50 машин на которых установлена Windows XP. | и как было отмечено выше QUOTE | 1. начиная с определённой версии OS MDAC входит в поставку | , то проблем не должно возникнуть...
|
|