Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ADO + MS SQL Server Работа в локалке / 12 сообщений из 12, страница 1 из 1
16.03.2004, 13:28
    #32443467
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
Что надо сделать, чтобы программа, которая с помощью ADO (на BC++) обращается к SQL Server (который находится на том же компьютере), работала с других компьютеров, подключенных к локальной сети?
Т.е. программа расшарена и другие компы могут ее запустить. Но при попытке соединиться с БД программа долго думает, а потом выдает ошибку "Общий сбой сети". Мне видятся возможные причины:
1. Строка подключения с других компьютеров должна быть другой (какой?)
2. Что-то не так в MS SQL Server (кстати, пока используется 120-дневная версия, может, в этом дело)
С того компьютера, где сервер БД и программа, соединение устанавливается.
...
Рейтинг: 0 / 0
16.03.2004, 13:32
    #32443482
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
1. SQL Server установлен как defoult instance или как named instance?
Если второе, то тормоза могут быть из-за долгого определения номера TCP порта по которому будет идти подключение.

2. Какая авторизация? SQL или Windows?
...
Рейтинг: 0 / 0
16.03.2004, 16:31
    #32444010
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
То есть программа запускается с шары? А сервер находится на одной машине с программой или как?

Строка подключения везде должна быть одинаковой. Кстати какая в программе?

Ещё могут быть проблемы с авторизацией. Если программа, к примеру, на родной машине с сервером запускалась от _виндовского_ админа, то она может с успехом не_запускаться с другой, так как чужой _виндовский_ админ для сервера не известен, даже если он с тем же логином/паролем.
...
Рейтинг: 0 / 0
17.03.2004, 00:18
    #32444530
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
Так. Столько вопросов. Попробую ответить.
1. SQL сервер идет как default. У меня была попытка установить его под своим именем, но ничего не вышло со строкой подключения (там должен идти слэш перед этим именем, а данные строки у меня хранятся в реестре, и при их загрузке из реестра вместо 1 слэша BC пишет 2, что вполне понятно, но получившаяся строка непонятна серверу).
2. Авторизация SQL. Пока. У меня нет четкого представления, что лучше, кроме того. сейчас программа и база только тестируются, а что будет потом, не знаю.
3. Программа расшарена. Не знаю, хорошо это или нет. Также не знаю, как иначе можно запустить программу, которая находится на другом компе. Программа запускается с других компов. После запуска пользователю следует установить соединение с БД, и вот тут она не хочет.
Строка такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Provider=SQLOLEDB. 1 ;Data Source=Ich;
Initial Catalog=MyDB;Workstation ID=Ich;
Packet Size= 4096 ;
Password=xxxxx;User ID=yyyyyy;

Persist Security Info=True;
Use Procedure for Prepare= 1 ;Auto Translate=True;
Use Encryption for Data=False;
Tag with column collation when possible=False 

Сервер располагается на одной машине с программой. У пользователей свои компы, и есть расшаренный доступ к программе. Надо ли что-то расшаривать в SQL Server?
...
Рейтинг: 0 / 0
17.03.2004, 08:06
    #32444657
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
На самом деле, зайди в форум MSSQL, там точно скажут, что и почему.

Кстати, кто и какую возвращает ошибку?

Попробуй в строке Workstation не указывать.

И что у тебя делает процедура 1?
...
Рейтинг: 0 / 0
17.03.2004, 10:39
    #32444884
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
У Вас не указано имя сервера. В этом случае происходит подключение к локальному серверу. Естественно, на рабочих станциях его нет.

вот строка, полученная из конструктора Delphi:

Provider=SQLOLEDB.1;
Password=XXXX;
Persist Security Info=True;
User ID=XXXX;
Initial Catalog=pubs;
Data Source=<ServerName>
...
Рейтинг: 0 / 0
17.03.2004, 14:24
    #32445461
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
Александр, в Data Source у меня как раз стоит имя сервера, оно совпадает с именем компьютера (так как сервер устанавливался как default):
Код: plaintext
1.
2.
Provider=SQLOLEDB. 1 ;Data Source=Ich;
Initial Catalog=MyDB;Workstation ID=Ich;

Какое еще имя сервера нужно?
...
Рейтинг: 0 / 0
17.03.2004, 16:43
    #32445847
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
КлювикКакое еще имя сервера нужно?
Имя того сервера, на котором у Вас стоит MSSQL с базой.

Если все локально, то можно не указывать.
...
Рейтинг: 0 / 0
17.03.2004, 19:03
    #32446134
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
--Если все локально, то можно не указывать.

с каких это пор. Надо писать Data Source=(local); вместо имени сервера
...
Рейтинг: 0 / 0
17.03.2004, 20:46
    #32446216
Александр Спелицин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
Lepsikс каких это пор. Надо писать Data Source=(local); вместо имени сервера

Специально попробовал убрав Data Source из строки подключения. К локальному серверу подключился. Не знаю, как это задокументировано, но метод тыка сработал.
Только вот с локальным MSSQL кроме дома больше нигде не встречался. Поэтому всегда указываю имя сервера.

2 Клювик: Workstation ID это имя того компьютера, на котором выполняется Ваша программа. К имени сервера она никакого отношения не имеет.
...
Рейтинг: 0 / 0
18.03.2004, 00:56
    #32446338
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
Черт побери. Когда устанавливаешь бд, если не указывать специально новое имя сервера, она берет в качестве него имя хоста. Вот почему имя рабочей станции и сервера совпадают.
...
Рейтинг: 0 / 0
18.03.2004, 07:35
    #32446417
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO + MS SQL Server Работа в локалке
дык, а нафиг тогда имя рабочей станции?
С любой машины указываешь имя сервера и ADO всё поймёт.
SQL-сервера живут своей жизнью. Им пофиг кто на какой машине из них есть, им главное чтобы из с этих машин запускали с нужными правами для доступа.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / ADO + MS SQL Server Работа в локалке / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]