Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 355
от 03.07.2007, 09:35

Администратор:Gh0stik
В рассылке:Подписчиков: 327, Экспертов: 39
В номере:Вопросов: 2, Ответов: 4


Вопрос № 93066: Я создал приложение, которое работает с БД SQL Server 2000 на своём компе. Связь с БД осуществляется через ADOConnection с моим сервером(SERG). Как мне перенести приложение на другой компьютер, где моего сервера SERG нет??? СПАСИБО!!!...
Вопрос № 93082: Здравствуйте. Подскажите как изменить размер поля в таблице. желательно не перегоняя данных в другую табл. или не создавая новое поле копируя туда значения и т.п. ну что-то вроде этого: update RDB$FIELDS set RDB$FIELD_LENGTH = 12... чт...

Вопрос № 93.066
Я создал приложение, которое работает с БД SQL Server 2000 на своём
компе. Связь с БД осуществляется через ADOConnection с моим сервером(SERG). Как мне перенести приложение на другой компьютер, где моего сервера SERG нет???
СПАСИБО!!!
Отправлен: 27.06.2007, 12:11
Вопрос задал: Андреев С.А. (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Фадеев Юрий
Здравствуйте, Андреев С.А.!
Как Вы делаете подключение к серверу? Оно у Вас прописано в ConnectionString всегда или вы изменяете его по ходу работы програмы? В любом случае сервер, к которому вы подключяетесь записываеться в ConnectionString с другой информацией (логином, паролем, названием базы). Для того чтобы приложение работало на другом сервере то Вам нужно прописать его в ConnectionString.
Ответ отправил: Фадеев Юрий (статус: 2-ой класс)
Ответ отправлен: 27.06.2007, 14:41

Отвечает: Виктор Пырлик
Здравствуйте, Андреев С.А.!
Для этого надо указать в ADOConnection1, свойстве ConnectionString IP адрес или имя машины на которой установлен сервер. Можно сделать в ручную – формат:
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=SER – адрес/имя машины

Но гораздо удобнее сделать в мастере (там, где вы настраивали для ADOConnection1 строку подключения. В окне выбора сервера укажите IP адрес или имя машины.

Такой метод является «жесткой привязкой» - если вы измените сетевые настройки серверной машины или перенесёте сервер на другую машину, придется переделывать программу.

Удобнее пользоваться либо настройками ODBC (панель управления) – создать подключение к SQL серверу, потом выбрать в ADOConnection1 «Microsoft OLE DB Provider for ODBC Drivers» и дальше по аналогии с обычным подключением. Это тоже не лучший вариант – его можно автоматизировать, но потребуется работать с настроечными файлами Windows.

Но практичнее, использовать файл udl – создать можно так: создаём текстовый файл (правая кнопка мыши) и меняем расширение на udl. Щелкаем по нему дважды и попадаем в знакомее нам окно настройки подключения к данным – выбираем поставщика данных – MS SQL и дальше, в выпадающем списке смотрим наш сервер (если его там нет, можем в ручную ввести IP адрес или имя машины сервера) – дальше как обычно, тестим подключение и сохраняем. Этот файл можно разместить в каталоге с вашей программой а ADOConnection1 свойство ConnectionString устанавливаем относительный путь к этому файлу: .программанаш файл.udl. В этом случае, для изменения сервера SQL – достаточно будет изменить этот файл, который надо будет распространять с вашей программой.

И последнее, если вдруг вы не сможете подключится к SQL серверу с другой машины – следовательно, при установке вы использовали метод локальной установки и потребуется настроить сетевой установки SQL Server (проще переустановить – базы сохранив ототачив их предварительно). Сервер должен устанавливаться не «локальный вход» а сетевой: выбор пользователя пароля (ваши логин и пароль на этой машине) и имя хоста (вашей машины).

PS: можно динамически «прописывать» строку подключения, читая параметры вводимые пользователем и сохраняя их, например, в реестре. Свойство ConnectionString – имеет строковый тип.
---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 4-ый класс)
Ответ отправлен: 27.06.2007, 16:58

Отвечает: Delph
Здравствуйте, Андреев С.А.!

Вам необходимо скачать с сайта Microsoft драйвер MDAC, с помощью которого можно обратиться к серверу MSSQL по сети. Я себе скачивал версии 2.6 и 2.8 (почему-то MDAC 2.8 у меня не хотел работать с Win XP, но и 2.6 вполне хватало). Установите драйвер на той машине, где Вы хотите развернуть программу. Сложностей вроде бы не должно возникнуть. Кроме того проверьте строку подключения, чтобы в ней было указание на компьютер с сервером.
Ответ отправил: Delph (статус: 4-ый класс)
Ответ отправлен: 27.06.2007, 17:01


Вопрос № 93.082
Здравствуйте. Подскажите как изменить размер поля в таблице. желательно не перегоняя данных в другую табл. или не создавая новое поле копируя туда значения и т.п.
ну что-то вроде этого:
update RDB$FIELDS set RDB$FIELD_LENGTH = 12...
что то не получается.
если можно конкретный пример
Отправлен: 27.06.2007, 14:23
Вопрос задала: SadKitty (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Проходящий Мимо
Здравствуйте, SadKitty!
Категорически не рекомендуется пользоваться прямой правкой системных таблиц. И старые добрые книги советуют изменять размер поля перегоняя даные в другой столбец.
Но если Вы готовы рискнуть жизнью базы, то начали правильно:
update RDB$FIELDS
set RDB$FIELD_LENGTH = 12
where RDB$FIELD_NAME='RDB$10' -- информация о поле, описана в табл. RDB$RELATION_FIELDS.
Так же можна воспользоваться замечательной программой IBexpert, которая зделает операцию изменения коректно...

---------
Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 8-ой класс)
Ответ отправлен: 27.06.2007, 17:05


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное