Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO - query / 5 сообщений из 5, страница 1 из 1
11.09.2004, 05:26:02
    #32690560
Eugen Rata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO - query
Привет

вопросик: как при помощи АДО узнать sql-запрос который имеет в себе некоторый query?

хотя проблема стоит таким образом.
есть некоторая база которая постовляется с программой.
иногда программа обновляется и вместе с ней также и структура базы,
вот и возникает вопрос, как обновить структуру базы у клиента без потери даных?
решения пока нашел только для таблиц, просто создаю sql-statement alter table ... (так как структру таблицы через АДО узнать не проблема) и все четко работает, но вот как вытащить запрос для query из новой базы и сделать алтер в старой, ума не приложу :(

как сделать такую вещь?

Спасибо
...
Рейтинг: 0 / 0
11.09.2004, 11:32:07
    #32690596
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO - query
Написать программку, анализирующую изменения в базе и генерящую скрипт... Или копать в сторону ErWin, PowerDesigner - возможно они это умеют, точно не знаю. Спроси тут.
...
Рейтинг: 0 / 0
11.09.2004, 11:55:24
    #32690613
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO - query
INFORMATION_SCHEMA.VIEWS

Contains one row for views accessible to the current user in the current database. The INFORMATION_SCHEMA.VIEWS is based on the sysobjects and syscomments system tables.


Column name Data type Description
...
VIEW_DEFINITION nvarchar(4000) If the length of definition is greater than nvarchar(4000), this column is NULL; otherwise, this column is the view definition text.
...

аналогично для хр. процедур
INFORMATION_SCHEMA.ROUTINES

--------
Проблема с "If the length of definition is greater than nvarchar(4000), " объезжается прямым обращением к системным таблицам.
...
Рейтинг: 0 / 0
12.09.2004, 00:13:50
    #32690784
Eugen Rata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO - query
такой код что-то не хочет работать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure TForm1.Button3Click(Sender: TObject);
var
  t : TADOTable;
  l : TStringList;
begin
  t := TADOTable.Create( nil );
  t.Connection := ADOConnection1;
  t.TableName :=  'InformationSchema.VIEWS'; 
  t.Active := true;

  t.Active := false;
  t.Free;
end;
вылетает такая ошибка,
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleException with message 'Could not find file 'F:\Projects_Delphi\ViewsNames\InformationSchema.mdb''. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

для доступа к БД использую Microsoft.Jet.OLEDB.4.0 и компоненты АДО из Делфи 7.

вы уверенны что это работает для Ms Access?
...
Рейтинг: 0 / 0
12.09.2004, 07:17:25
    #32690815
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO - query
SELECT * FROM InformationSchema.VIEWS

InformationSchema.VIEWS - это не таблица, это представление (View).

и это работает не для Access или еще что-то - это работает для стандартного SQL.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO - query / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]