Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизГде в ADO указывается адрес сервера? Найти похожие ветки
← →
Nootr (2009-12-10 16:19) [0]Попался проект Delphi, там используется ADO для доступа к MS SQL.
работа начинается (в TForm.Create) с использованию ADOQuery, присвоение SQL запроса и собственно Open, сам ADOQuery настроен на ADOConnection1. А вот сколько не ищу в ADOConnection не могу найти где указывается адрес сервера то?! Если сделать коннект для ADOConnection1 после зависания через некоторое время пишется, естественно, что коннект неудачен: http://yfrog.com/jq34412435g
Ни указания адреса базы, ни указания алиаса нигде не нашел. Единственное, в Connection String есть что-то вроде:Data Source=FARMKIN
это указание на alias? В ADO есть какой-то менеджер баз данных?
P.S. не ругайте сильно плиз или может какую ликбезную статейку про ADO на 3-4 страницы?
← →
kyn66 © (2009-12-10 16:25) [1]Нужно указать провайдера в ConnectionString http://yurec66.narod.ru/Hlam/prov.jpg
← →
Nootr (2009-12-10 16:31) [2]указано, вопрос в том где указывается конкретный адрес сервера. Ведь ясен пень SQL серверов может быть тысячи, как указать к какому коннектится?
← →
Медвежонок Пятачок © (2009-12-10 16:33) [3]мышкой укажи.
в мастере
← →
sniknik © (2009-12-10 16:36) [4]> в Connection String есть что-то вроде:
> Data Source=FARMKIN
что-то вроде или именно так как приведено?
может быть odbc DSN-ом.
← →
kyn66 © (2009-12-10 16:59) [5]
> Nootr (10.12.09 16:31) [2]
> указано, вопрос в том где указывается конкретный адрес сервера.
> Ведь ясен пень SQL серверов может быть тысячи, как указать
> к какому коннектится?
А на три точечки мышом тыкнуть где я указал в [1] страшно? И посмотреть далее по месту и выбрать конкретный....
← →
Nootr (2009-12-10 17:32) [6]
> А на три точечки мышом тыкнуть где я указал в [1] страшно?
>
так а что изменится? Там из полезного только я предполагаю Data Source=FARMKIN
> может быть odbc DSN-ом.
точно также думаю, скорее всего так и есть. А где настраиваются соответствиях этих alias"ов (DSN записей)?
То есть, там прописано FARMKIN, но на моем компьютере такой записи, видимо, нет (откуда ей взяться). Как ее настроить, где собственно?
P.S. Побочный вопрос - какое значение несет параметр "Initial Catalog" ?
← →
kyn66 © (2009-12-10 17:48) [7]
> Nootr (10.12.09 17:32) [6]
> > А на три точечки мышом тыкнуть где я указал в [1] страшно?
> > так а что изменится? Там из полезного только я предполагаю
> Data Source=FARMKIN
Да што прицепился к этому Data Source ?!? Он не нужен. Провайдера настраивай! Тыкни на кнопочки и все поймешь!
http://yurec66.narod.ru/Hlam/pr1.jpg
http://yurec66.narod.ru/Hlam/pr2.jpg
http://yurec66.narod.ru/Hlam/pr3.jpg
← →
kyn66 © (2009-12-10 17:51) [8]Забыл указать, что на первой вкладке сперва провайдера выбираешь
http://yurec66.narod.ru/Hlam/pr4.jpg
← →
Nootr (2009-12-10 17:53) [9]
> Да што прицепился к этому Data Source ?!
потому что то, куда ты указываешь стрелочкой на 3-ем скриншоте, это и есть то, что в ConnectionString фигурируем параметром с именем: "Data Source"
← →
Nootr (2009-12-10 17:55) [10]kyn66, то есть, если ты сам не понимаешь - поясню. То, что ты настраиваешь в мастере - формирует строку инициализации в текстовом виде. Стандартный подход.
← →
kyn66 © (2009-12-10 17:59) [11]
> Nootr (10.12.09 17:55) [10]
> kyn66, то есть, если ты сам не понимаешь - поясню. То, что
> ты настраиваешь в мастере - формирует строку инициализации
> в текстовом виде. Стандартный подход.
Ну, ищи другой, если не принимаешь стандартного для связи с сервером.
← →
Медвежонок Пятачок © (2009-12-10 18:07) [12]что такое датасорс и куда он указывает - вопрос лишенный смысла без указания о каком конкретно провайдере идет речь
← →
Smile (2009-12-10 18:16) [13]читай sniknik © (10.12.09 16:36) [4]
в Connection String
я обычно там указываю не алиас, а путь к базе
← →
Nootr (2009-12-10 18:25) [14]
> без указания о каком конкретно провайдере идет речь
указано в первом посте этой темы. В первой строчке.
> я обычно там указываю не алиас, а путь к базе
отлично, но тут в проекте указан алиас. Вопрос в том, где они настраиваются для этого ODBC (ADO?).
← →
Smile (2009-12-10 18:37) [15]но тут в проекте указан алиас
проект чужой?
:(
← →
Медвежонок Пятачок © (2009-12-10 18:38) [16]указано в первом посте этой темы. В первой строчке.
там ни слова нет о используемом провайдере.
ado это не провайдер. ьыыйд тоже не провайдер
← →
Медвежонок Пятачок © (2009-12-10 18:40) [17]используя адо, можно подключиться к мсскл серверу десятком способов.
и в каждом способе датасорс может означать разные вещи
← →
Nootr (2009-12-10 18:45) [18]Медвежонок Пятачок, если я правильно понял нужную информацию, то:
Provider=SQLOLEDB.1
← →
clickmaker © (2009-12-10 18:46) [19]> какое значение несет параметр "Initial Catalog" ?
имя базы
если провайдер - SQLOLEDB, Data Source - это и есть имя сервера
если MSDASQL, то имя источника odbc, например SQLNative для ms sql
← →
Медвежонок Пятачок © (2009-12-10 18:48) [20]тогда датасорс - это имя или ip машины на которой работает mssql сервер.
а если сервер семерка, то это может быть именем клиентского алиаса в конфигурации мсскл клиента
← →
Smile (2009-12-10 18:56) [21]> Медвежонок Пятачок © (10.12.09 18:40) [17]
ConnectionString
кроме Data Source, Password и много чего прочего может включать в себя также и провайдера (а обычно и включает)Provider= ...
:)
← →
clickmaker © (2009-12-10 19:02) [22]> через некоторое время пишется, естественно, что коннект
> неудачен
а ошибка такая вылезает если либо имя сервака неправильно написано (н-р, FARMKIN вместо FARMKIN\SQLEXPRESS)
либо скл сервер не разрешает удаленные подключения
ну либо нет его в сети
← →
sniknik © (2009-12-10 19:18) [23]> потому что то, куда ты указываешь стрелочкой на 3-ем скриншоте, это и есть то, что в ConnectionString фигурируем параметром с именем: "Data Source"
присмотрись лучше, это не там.
← →
Nootr (2009-12-10 20:32) [24]
> тогда датасорс - это имя или ip машины на которой работает
> mssql сервер.
ну да, судя по всему это NetBios имя машины-сервера в локалке, где использовалась данная программа...
> присмотрись лучше, это не там.
присмотрелся.
В строке ConnectionString фигурирует, допустим, такой параметр:Data Source=TEST
Нажимаю кнопочку "Build", появляется визард, в поле "Выберите или введите имя сервера" написано "TEST". Меняю на "TEST2", нажимаю ok. Теперь ConnectionString имеет такой вид:Data Source=TEST2
Непосредственно в строку ничего не писал. Она была переформирована визардом.
Что я делаю не так?
← →
kyn66 © (2009-12-11 09:21) [25]
> Nootr (10.12.09 20:32) [24]
> фигурирует, допустим, такой параметр:Data Source=TEST
Этот параметр фигурирует вкупе со всеми остальными, в том числе и именем провайдера. Посредством этой строки тебе и предоставляется возможность соедениться с сервером. ConnectionString - это твой соеденительный мост между физическим сервером и твоим компонентом TADOConnection. Там же в визарде после выбора провайдера и наименования сервера, а потом и БД, есть кнопка для тестирования соединения. Что то я шибко сомневаюсь, чтобы сервер у вас имел имя Test или Test2. Если что - выкладывай скрины своих последовательных действий.
PS
Data Source=FARMKIN - скорее всего это имя вашего сервера. Попробуй изменить его на реальный IP, иногда помогает.
← →
alsov © (2009-12-11 09:22) [26]Ручками
Data Source=tcp:192.168.1.7,1433
Или cliconfg алиас прописать и тогда по имени алиаса
Data Source=имя_алиаса
← →
kyn66 © (2009-12-11 09:33) [27]
> alsov © (11.12.09 09:22) [26]
> Ручками
А где он прописывать будет? В ConnectionString ? Так там строка должна быть правильно сформирована сначала хотя-бы, посредством визарда. Так и к чему этот гемор, если визард позволяет выбрать конкретный сервер? Если конечно он в списке доступных...
Можно конечно и вручную прописать, я так делал
procedure TDM1.DataModuleCreate(Sender: TObject);
begin
try
Connection1.ConnectionString :=
"Provider=SQLOLEDB.1;" +
"Integrated Security=SSPI;" +
"Persist Security Info=False;" +
"Initial Catalog=Proba;" +
"Data Source=172.18.66.31;";
Connection1.Open;
except
on E: Exception do
begin
Application.MessageBox(PChar("Ошибка при подключении к БД !"),
"ОШИБКА !", MB_OK + MB_ICONHAND);
Halt;
end;
end;
end;
← →
alsov © (2009-12-11 09:45) [28]
> kyn66 © (11.12.09 09:33) [27]
> А где он прописывать будет? В ConnectionString ?
Именно.
Можно и в визарде в поле Сервер.
Просто вариант Data Source=172.18.66.31; может не сработать если сервак не на 1433 порту висит.
← →
sniknik © (2009-12-11 09:49) [29]> Теперь ConnectionString имеет такой вид:
> Data Source=TEST2
> Непосредственно в строку ничего не писал. Она была переформирована визардом.
если делалось визардом то ты ВРЕШ, он такие строки, без указания провайдера не формирует.
если ты обращаешь внимание только на параметр Data Source игнорируя остальное то ... даже не знаю что сказать, ну вот в реальной жизни тебе важна разница если тебе дарят "черный мерседес" или "игрушечный мерседес"? ведь мерседес же, и зачем на первое слово смотреть...
> присмотрелся.
> В строке ConnectionString фигурирует, допустим, такой параметр:
я тебя в первом же посте спрашивал
> что-то вроде или именно так как приведено?
думаешь зря? если "фигурирует" то это может означать что угодно, в зависимости от провайдера, если именно так то это DSN т.к. по умолчанию берется odbc.
т.е. там вкладки будут разные, поля дополнительные, названия другие, провайдер, но это все ПОФИГ т.к. место и имя параметра совпадает... так?
присматривайся внимательнее.
← →
kyn66 © (2009-12-11 09:49) [30]
> Просто вариант Data Source=172.18.66.31; может не
> сработать если сервак не на 1433 порту висит.
Для того и есть кнопочка "Проверить подключение". У меня без указания порта всегда работало на ура.
← →
alsov © (2009-12-11 09:55) [31]
> kyn66 © (11.12.09 09:49) [30]
Попробуйте у себя в cliconfg на вкладке Общие в свойствах TCP/IP указать другой порт по умолчанию ;)
← →
kyn66 © (2009-12-11 09:58) [32]
> sniknik © (11.12.09 09:49) [29]
Вот вот. Ато вцепился в этот DataSource мертвой хваткой.
← →
sniknik © (2009-12-11 09:59) [33]> Попробуйте у себя в cliconfg на вкладке Общие в свойствах TCP/IP указать другой порт по умолчанию ;)
и ничего не случится... т.к. Named Pipes используются... ;)
← →
kyn66 © (2009-12-11 10:02) [34]
> alsov © (11.12.09 09:55) [31]
>Попробуйте у себя в cliconfg на вкладке Общие в свойствах TCP/IP указать >другой порт по умолчанию ;)
Да я и не думаю туда лазить. К чему? Сетка настроена, сервак работает, порты пропускают. К чему лазить. Ведь приложение должно работать с уже настроенным сервером, а не искать пути подключения к нему. Пусть этим сисадмины занимаются. Это их работа и они за это деньги получают. :)
← →
alsov © (2009-12-11 10:39) [35]
> sniknik © (11.12.09 09:59) [33]
Тоже вариант.
> kyn66 © (11.12.09 10:02) [34]
Это в идеале. Ситуации разные бывают...
← →
Nootr (2009-12-11 13:41) [36]
> если делалось визардом то ты ВРЕШ, он такие строки, без
> указания провайдера не формирует
почему без указания провайдера, ГДЕ я такое говорил???
С самого начала топика речь идет о подключении к базе MS SQL. Когда попросили сказать конкретное имя провайдера - я сказал в посте [18].
Нет, даже после этого поста меня каждый раз пытаются убедить, что все что я говорю - я имею в виду без указания провайдера. Провайдер указан (как бы проект без этого вообще работал?!) и я об этом сказал с самого начала.
И чтобы ты не написал при этом в визарде там где нужно выбрать сервер или написать его имя - оно попадает как значение параметра "Data source". Ппц, такую фигню пятый пост обсуждать...
← →
clickmaker © (2009-12-11 13:42) [37]> [36] Nootr (11.12.09 13:41)
а в чем тогда проблема?
← →
sniknik © (2009-12-11 14:06) [38]> и я об этом сказал с самого начала.
18<>0
> как бы проект без этого вообще работал?!
да очень просто. сколько можно повторять
> думаешь зря? если "фигурирует" то это может означать что угодно, в зависимости от провайдера, если именно так то это DSN т.к. по умолчанию берется odbc.
очень даже работает.
> Ппц, такую фигню пятый пост обсуждать...
это не фигня, это ОЧЕНЬ важно, может кто почитает, "проникнется", и в своих вопросах будет изначально всю инфу приводить, без дурацких умолчаний (в корне меняющих смысл обсуждаемого).
тогда глядишь и будет все только "по делу".
← →
sniknik © (2009-12-11 14:09) [39]> почему без указания провайдера, ГДЕ я такое говорил???
кстати вот
> Теперь ConnectionString имеет такой вид:
> Data Source=TEST2
т.е. ConnectionString = "Data Source=TEST2"
и это было в 24 посте.
мало ли что ты там раньше уточнял на уточняющий вопрос когда вот тут прямым текстом...
← →
Nootr (2009-12-11 15:16) [40]Ладно, какой-то уже бесполезный спор, имхо.
sniknik, согласен, что возможно двоякое толкование, я просто писал:>В строке ConnectionString фигурирует, допустим, такой параметр:
я имел в виду, что именно фигурирует такой параметр. Это не означает, что он единственный. Я имел в виду так.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.068 c