Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2012, 23:55   #1
Vladimir-888
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 29
По умолчанию Delphi 7 + Microsoft SQL Server (запуск клиентского приложения с другого компьютера)

Нужна ваша помощь! Дело вот в чём. На компе стоит Microsoft SQL Server, в нём создана база, все таблицы заполнены, прописаны хранимые процедуры, триггеры и т.д. Также в SQL Server создан пользователь для этой базы данных с паролем. Необходимо создать клиентское приложение. В Delphi в ADOConnection выбираю поставщика данных - OLE DB Provider for SQL Server, жму Далее, выбираю имя сервера (т.е. свой комп), указываю пользователя и пароль (те которые создал в SQL Server), выбираю имя базы данных, далее создаю таблицы, всё подключаю, всё нормально, т.е. на этом компе никаких проблем. Вопрос: как сделать так, чтобы при запуске этого приложения на другом компьютере всё работало? Т.е. на другом компьютере я перед запуском программы в SQL Server создаю эту базу, создаю такого же пользователя с паролем, и запускаю приложение, но выскакивает ошибка подключения к серверу, т.к. имя сервера другое (не такое как имя компа, на котором я писал прогу). Подскажите как это исправить, чтобы на любом компе с такой же базой и пользователем прога запускалась. Очень нужно! Заранее благодарен.
Vladimir-888 вне форума Ответить с цитированием
Старый 19.01.2012, 00:07   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Строку соединения ConnectionString в ADOConnection можно программно править, подставляя туда любое имя сервера, базы, пользователя, пароля и т.д. После этого ADOConnection.Connected:=True и вперед
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.01.2012, 00:14   #3
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

А IP нельзя использовать? "127.0.0.1" или "localhost"?
vovk вне форума Ответить с цитированием
Старый 19.01.2012, 00:26   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Теоретически знаю, что можно для удаленного компьютера, указывая в Data Source IP-адрес и порт сервера. Для того же компьтера можно Data Source=(local)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 19.01.2012 в 00:28.
Аватар вне форума Ответить с цитированием
Старый 19.01.2012, 14:00   #5
Vladimir-888
Пользователь
 
Регистрация: 01.04.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Строку соединения ConnectionString в ADOConnection можно программно править, подставляя туда любое имя сервера, базы, пользователя, пароля и т.д. После этого ADOConnection.Connected:=True и вперед
я понимаю, подскажите на какое событие прописывать изменение ConnectionString? просто при запуске экзешника сразу появляется табличка с вводом имени пользователя и пароля, как быть??
Vladimir-888 вне форума Ответить с цитированием
Старый 02.04.2015, 16:45   #6
tj100
Новичок
Джуниор
 
Регистрация: 02.04.2015
Сообщений: 1
По умолчанию

Здравствуйте. Похожая проблема. Компьютеры находятся в домене (1b\). Имеется образно 2 компьютера (comp1 и comp2) и 2 пользователя (user1 и user2). Создал базу данных в sql server 2012 на comp1-user1. В delphi 7 создал приложение для управления это базой данных. При установки sql server выбрал доступ для двух пользователей user1 и user2. Для подключения к бд используется ADOConnection. Для подключения к серверу используется встроенная безопасность Windows. Открыл общий доступ к приложению и sql server на компьютере comp1 для user2.
При запуске приложения на comp2-user2 ADOConnection требует авторизации. При вводе пароля для user2 выдает ошибку "Ошибка входа пользователя "1b\user2"". При вводе пароля для user1 выдается та же ошибка "Ошибка входа пользователя "1b\user2"". Подскажите как запустить приложение на другом компе.
tj100 вне форума Ответить с цитированием
Старый 02.04.2015, 18:15   #7
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Vladimir-888 как сделать так, чтобы при запуске этого приложения на другом компьютере всё работало?
Сами простои способ настройки сервера
1) Отключить брандмауэр на сервере
2) через " Диспетчер конфигурации SQL Server "
И вместе IP всегда записываю имя сервера . Потому что внутренние IP всегда меняется .... А если крупный проект и на сервере несколько БД подключается несколько разработчик . Конечно надо изучить

Data Control Language (DCL)
GRANT
REVOKE
DENAY
Это уже дела Администратора.... Боле подробно здесь можете посмотреть http://yolper.ru/12 Но они здесь настраивает Windows Firewall Я его отключаю
Изображения
Тип файла: jpg BrandMauzer.jpg (101.0 Кб, 140 просмотров)
Тип файла: jpg T-SQL.jpg (70.8 Кб, 137 просмотров)
Тип файла: jpg T-SQL-2.jpg (70.7 Кб, 136 просмотров)

Последний раз редактировалось xxbesoxx; 02.04.2015 в 18:31.
xxbesoxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ado + Microsoft sql Server 2008 crash1986 БД в Delphi 5 06.07.2011 14:47
Хранимая процедура в Microsoft SQL Server Ellkat Помощь студентам 0 22.05.2011 11:27
Запуск и закрытие другого приложения DeKot Общие вопросы Delphi 12 18.05.2010 21:28
Запуск другого приложения Sparky Общие вопросы по Java, Java SE, Kotlin 3 18.10.2009 11:03
Запуск приложения на сервере с пользовательского компьютера maLoy*508 Операционные системы общие вопросы 12 07.07.2009 21:20