Текущий архив: 2007.02.11;
Скачать: CL | DM;
ВнизКак сделать чтобы программа подключалась к БД? Найти похожие ветки
← →
Kolan © (2006-11-16 20:18) [0]Здравствуйте,
Использую MSSQL Server + ADO. На работе создал строку подключения:FADOCOnnection.ConnectionString :=
"Provider=SQLOLEDB.1;Integrated Security=SSPI;"+
"Persist Security Info=False;"+
"Initial Catalog=KFreGrafDB;"+
"Data Source=KOLAN-3F4JGL";
Прихожу домой ессно не работает - не подключается.
Как сделать так, чтобы если не подключается программа предлогала настроить/создать подключение?
ЗЫ
Предпоследний тупой вопрос по БД :)
← →
sniknik © (2006-11-16 20:33) [1]> Как сделать так, чтобы если не подключается программа предлогала настроить/создать подключение?
запрограммировать это! ...
можеш сам составлять строку подключения, можеш использовать udl файлы указывать в строке его (сделай пустой текстовый, поменяй ему расширение на udl и щелкни на нем в проводнике, или выполни через пуск, поймеш), можеш программный выбор составления строки (EditConnectionString (uses AdoConed), PromptDataSource).
> Предпоследний тупой вопрос по БД :)
ну сам виноват будеш если будет два...
← →
sniknik © (2006-11-16 20:41) [2]кстати как вариант, если это нужно просто чтобы работало и на работе и дома, не указывать сервер (он у меня в обоих случаях локально, но имена машин разные, как и mssql-ная авторизация)
поэтому у меня часто строка коннекта выглядит, как
Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=MyBase
и все, остальное по умолчанию, и не приходится переподключатся, хотя возможность настроить конечно есть, но не при старте если не удалось, а отдельным пунктом, и я этим каждый раз при переносе с работы домо/обратно уже не занимаюсь.
← →
Kolan © (2006-11-16 20:47) [3]> запрограммировать это! ...
Ага, что-то проясняется :)
> можеш сам составлять строку подключения
Не немогу.
EditConnectionString(FADOCOnnection);
Получил AVPromptDataSource
Не понял как работает и в справеке нет...
> ну сам виноват будеш если будет два...
Нет последний я еще не шас спрошу, а так через месяцок :)
Хотелось бы вызвать стандартный диалог настроки этой строки. Вроде в ODBC есть такой?
← →
Kolan © (2006-11-16 20:48) [4]> кстати как вариант, если это нужно просто чтобы работало
> и на работе и дома
Не надо чтобы в любом случае работало даже если БД на другой машине.
← →
Kolan © (2006-11-16 20:51) [5]Поискач по
(EditConnectionString (uses AdoConed), PromptDataSource).
нашел на королевстве топик.
Вот кусок кода из него:procedure TForm1.FormShow(Sender: TObject);
begin
ADOConnection1.LoginPrompt := False; {Не показываем окошко со вводом пароля итд}
ADOConnection1.Close;
ADOConnection1.ConnectionString := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1\;"+
"Extended Properties=dBase 5.0;Mode=Read|Write|Share Deny None;"+
"Persist Security Info=True"; {Указываем Строку соединения с базой через драйвер Microsoft.Jet.OLEDB.4.0 . Нужно просто указать папку с таблицами, в данном случае это "c:\1\"}
end;
Дык это мне что просто Data Source подставить надо где база или как? Или это не для MSSQL?
← →
Kolan © (2006-11-16 21:25) [6]
FADOCOnnection.ConnectionString :=
"Provider=SQLOLEDB.1;Integrated Security=SSPI;"+
"Persist Security Info=False;"+
"Initial Catalog=KFreGrafDB;"+
"Data Source=";
Стер "Data Source=KOLAN-3F4JGL" И подключилось... Оно что само все делает? Как это работает?
← →
Anatoly Podgoretsky © (2006-11-16 21:39) [7]> Kolan (16.11.2006 20:51:05) [5]
Не надо было так далеко бегать, когда у тебя в Демос лежит отличный пример.
← →
Anatoly Podgoretsky © (2006-11-16 21:40) [8]> Kolan (16.11.2006 21:25:06) [6]
Говоришь загадками, но видимо речь идет про LocalHost
← →
Kolan © (2006-11-16 21:49) [9]> Говоришь загадками, но видимо речь идет про LocalHost
Какие загадки. В тексте программы записанно [6]. +FADOCOnnection.LoginPrompt := False;
(может из-за этого).
А после запуска:Watch Name Value
FADOCOnnection.ConnectionString "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=KFreGrafDB;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=KSOFTWARE;Use Encryption for Data=False;Tag with column collation when possible=False"
Как так вышло?LocalHost
Шас эксперементирую на локальном... В итоге должно быть для любого.
ЗЫ
Да, у меня не SQL server, а MSDE.
← →
sniknik © (2006-11-16 21:54) [10]> Стер "Data Source=KOLAN-3F4JGL" И подключилось... Оно что само все делает? Как это работает?
не само, пустая строка это тоже значение, в данном случае это алиас означающий самого себя, так же как LocalHost, (local), просто точка ".", или 127.0.0.1 , все это сработает аналогично, по разным причинам но должно все (если не менять настройки).
← →
Anatoly Podgoretsky © (2006-11-16 21:56) [11]> Kolan (16.11.2006 21:49:09) [9]
> Да, у меня не SQL server, а MSDE.
Это полноценный MS SQL server предназначенный для персонального использования.
А сейчас ты привел уже другую строку подключения.
← →
sniknik © (2006-11-16 21:59) [12]> Как так вышло?
при подключении подставились все умолчания.
см. [2], минимум что нужно, да и то базу можно тоже убрать тогда по умолчанию будет master а выбирать свою можно уже потом sql-ем "USE xxxx"
← →
Kolan © (2006-11-16 22:07) [13]> sniknik © (16.11.06 21:54)
Понял.FADOCOnnection.ConnectionString := PromptDataSource(0, "");
Вроде это то, что надо. А что такое ParentHandle или правильные ли я передал параметры?
← →
sniknik © (2006-11-16 22:23) [14]> А что такое ParentHandle
хендл окна родителя для вновь открывшегося, можно конечно и десктоп... но лучше поставить своего, не будет "провалов" за главное окно при некоторых ситуациях. (это не только для этого это любого окна касается, с диалоговыми случается часто при таком стиле (есть у нас один любитель Windows.MessageBox(0, ....) писать... убил бы гада, или уволил, жаль не в моей власти, столько неприятных ситуаций изза этого было))
← →
Kolan © (2006-11-16 22:48) [15]> но лучше поставить своего
Да, понял, только класс, в котором это все творится не знает ничего об окнах. Добавить параметр в конструктор что-ли?
Страницы: 1 вся ветка
Текущий архив: 2007.02.11;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.067 c