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