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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 10:13   #1
crash1986
Новичок
Джуниор
 
Регистрация: 30.06.2011
Сообщений: 2
По умолчанию Ado + Microsoft sql Server 2008

Привет всем.
Написал программу, которая отправляет запросы в базу данных на Microsoft SQL server 2008.
С локального компа всё нормально, а с другого не пашет (просто зависает).

Установил Client Microsoft SQL server 2008 на другой комп. Тоже самое. Пытался добавить ODBC-драйвер, пишет что не может найти этот сервер.

То есть моя задача, чтобы можно было обращаться к базе данных, установленной на другом компьютере.

Подскажите, пожалуйста, кто знает (думаю многие сталкивались с данной проблемой).
crash1986 вне форума Ответить с цитированием
Старый 01.07.2011, 08:14   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А вынести настройки подключения в файл?
А вывести описание ошибки при подключении путем вставки блока в
Код:
try 
..код подключения
exception on e:Exception do
ShowMessage(e.ClassName + #13#10 + e.Message);
end;
Дабы понять что же происходит. А пока Вы нам предлагаете развивать телепатические способности.
Скорее всего у вас отсутствует сервер т.е. не видится с машины на которой ставите свой продукт.
Причин множество. Начиная от недоступности машины и заканчивая брандмауэром.
Могу вам предложить попинговать сервер БД.
В общем пока от вас не будет описания ошибки помочь вам скорее всего не возможно.
Т.к. только врачи в нашей стране могут лечить неизвестные им заболевания.
Главное чтоб пациент умер от другого.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 04.07.2011, 15:10   #3
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

[QUOTE=crash1986;835745]
Установил Client Microsoft SQL server 2008 на другой комп. Тоже самое. Пытался добавить ODBC-драйвер, пишет что не может найти этот сервер.
QUOTE]

Я тоже не могу уже две недели решить подобную проблему. Скажу сразу, что два сетевых компа прекрасно видят друг друга и пингуются в обе стороны.
Итак, на на моей машине Win7, Delphi 2007 и MS SQL Server 2008.
MS SQL Server 2008 установлен с "Проверкой подлинности Windows"
В MS SQL Server 2008 создана небольшая база из нескольких файлов.
Из Delphi 2007 доступ к этой базе осуществляется с помощью компонента ADOConnection, свойство ConnectionString которого настроено через файл связи *.udl.
На моей машине все работает. Попытка запустить программу на сетевом компьютере с WinXP закончилась ничем.
Более того, когда я попытался ради интереса на сетевом компе настроить файл *.udl, то получил сообщение об ошибке (см. рис.)
Чего я только не делал: и добавлял пользователя сетевого компа к пользователям на машине с Win7 и MS SQL Server 2008, и добавлял этого пользователя в группу "Безопасность" на MS SQL Server 2008, и с сетевого компа использовал этого пользователя для входа на сервер MS SQL, и настраивал брандмауер на машине с Win7 - все бестолку.
Сейчас хочу попробовать на другой машине в сети поставить MS SQL Server 2008 с "Проверкой подлинности SQL сервер".

Буду весьма признателен, если кто-нибудь посоветует какой-либо способ решения этой проблемы.
Изображения
Тип файла: jpg Ошибка связи.jpg (35.7 Кб, 73 просмотров)
Тип файла: jpg Ошибка связи 2.jpg (34.2 Кб, 72 просмотров)
М_Виктор вне форума Ответить с цитированием
Старый 04.07.2011, 17:51   #4
blazonic
Videor venisse
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 58
По умолчанию

Цитата:
Сообщение от М_Виктор Посмотреть сообщение
Из Delphi 2007 доступ к этой базе осуществляется с помощью компонента ADOConnection, свойство ConnectionString которого настроено через файл связи *.udl.
На моей машине все работает. Попытка запустить программу на сетевом компьютере с WinXP закончилась ничем.
Более того, когда я попытался ради интереса на сетевом компе настроить файл *.udl, то получил сообщение об ошибке
А что если строки подключения сохранять не в файле *.udl, а в своём собственном файле?
И редактировать соответственно в своём дополнительном окне приложения типа "Настройки подключения к БД". При этом свой настроечный файл необходимо будет шифровать. Т.о. получаем собственный софт с полностью контролируемым кодом и возможно непредвиденных ошибок будет меньше.
Facimus opus communis
blazonic вне форума Ответить с цитированием
Старый 06.07.2011, 09:36   #5
crash1986
Новичок
Джуниор
 
Регистрация: 30.06.2011
Сообщений: 2
По умолчанию

Привет всем. Спасибо за ответы.
М_ВИКТОР я сам раньше работал с firebird, там нужно было настраивать через ODBC-драйвера. Поэтому с SQL-сервером начал также, хотя проблема была не в этом.

Проблему решил таким способом:
Есть такая служба Браузер SQL, она по умолчанию отключена, нужно включить. Не забудьте отключить брандмауэр (он у меня был отключен).
Перезапустить службу SQL-сервер.
Сделать не только аутентификацию Windows, а смешанную.
crash1986 вне форума Ответить с цитированием
Старый 06.07.2011, 14:47   #6
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

Цитата:
Сообщение от crash1986 Посмотреть сообщение
Привет всем. Спасибо за ответы.
М_ВИКТОР я сам раньше работал с firebird, там нужно было настраивать через ODBC-драйвера. Поэтому с SQL-сервером начал также, хотя проблема была не в этом.

Проблему решил таким способом:
Есть такая служба Браузер SQL, она по умолчанию отключена, нужно включить. Не забудьте отключить брандмауэр (он у меня был отключен).
Перезапустить службу SQL-сервер.
Сделать не только аутентификацию Windows, а смешанную.
Сегодня установил MS SQL 2008 на сетевую машину с WinXP. При установке:
1. Использовал проверку подлинности SQL Server и Windows
2. Учетную запись использовал встроенную sa, пароль из 10 букв и символов
3. Установил отметку об автоматическом запуске Браузера SQL Server
4. SQL Server установил как NETWORKSERVICE
5. Включил протокол TCP/IP
6. Брандмауэр на этой машине был отключен

В итоге у меня все работает.
Итак, с машины Win7 и Delphi 2007 я имею доступ к базе, находящейся на сетевой машине с WinXP и MS SQL Server 2008. База создана именно в MS SQL 2008, доступ с помощью компонентов ADO.

Осталось решить обратную задачу: на машине с Win7 и Delphi 2007 переустановить MS SQL Server 2008, проверить настройки брадмауэра и доступ к базе MS SQL Server 2008 с других сетевых машин
Изображения
Тип файла: jpg Проверка подлинности.jpg (20.8 Кб, 72 просмотров)
Тип файла: jpg Службы SQL.jpg (29.3 Кб, 127 просмотров)
Тип файла: jpg Протокол SQL.jpg (37.2 Кб, 122 просмотров)
М_Виктор вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL server 2008 sargez SQL, базы данных 2 28.10.2010 13:58
приложение на C# и БД SQL Server 2008 Sparky БД в Delphi 0 26.07.2010 18:11
sql server 2008 Neymexa Помощь студентам 1 25.03.2010 13:13
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51
c# и sql server 2008 BattleMage SQL, базы данных 3 14.09.2009 20:28