Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.095 c
2-1266215119
Spot
2010-02-15 09:25
2010.08.27
Прозрачный bmp в RXdbgrid


2-1268653223
tippa
2010-03-15 14:40
2010.08.27
одновременное обращение к процедуре


2-1273331156
darts116
2010-05-08 19:05
2010.08.27
Объявление множества. (Delphi 2009)


2-1265975826
ExGen
2010-02-12 14:57
2010.08.27
ADOTable


15-1265917923
AlexDan
2010-02-11 22:52
2010.08.27
по php..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский