Получение информации о таблицах из MS SQL SERVER.
От: Par-zzz  
Дата: 26.01.04 07:20
Оценка:
Здравствуйте!

Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.

Что именно надо:

1. названия таблиц.
2. названия полей таблиц.
3. информация по полям(PK, FK, другие условия, наличие на FK каскадного удаления и т.д.)
4. названия и параметры хранимых процедур работающих с этими таблицами.

Беглым поиском почти ничего не нашел, подскажите куда копать...


27.01.04 10:23: Перенесено модератором из '.NET' — AVK
/**
* у человека столько проблем, сколько он их себе создает
*/
Re: Получение информации о таблицах из MS SQL SERVER.
От: V.Petrovski Беларусь  
Дата: 26.01.04 07:33
Оценка:
Здравствуйте, Par-zzz, Вы писали:

PZ>Здравствуйте!


PZ>Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.


PZ>Что именно надо:


PZ>1. названия таблиц.

PZ>2. названия полей таблиц.
PZ>3. информация по полям(PK, FK, другие условия, наличие на FK каскадного удаления и т.д.)
PZ>4. названия и параметры хранимых процедур работающих с этими таблицами.

PZ>Беглым поиском почти ничего не нашел, подскажите куда копать...


Все это можно получить из системных таблиц
... << RSDN@Home 1.1.2 stable silent>>
Re: Получение информации о таблицах из MS SQL SERVER.
От: a_marat  
Дата: 26.01.04 07:38
Оценка: +1
Здравствуйте, Par-zzz, Вы писали:

PZ>Здравствуйте!


PZ>Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.


PZ>Что именно надо:


PZ>1. названия таблиц.

PZ>2. названия полей таблиц.
PZ>3. информация по полям(PK, FK, другие условия, наличие на FK каскадного удаления и т.д.)
PZ>4. названия и параметры хранимых процедур работающих с этими таблицами.

PZ>Беглым поиском почти ничего не нашел, подскажите куда копать...

в MSSQLServer в каждой БД есть такие системные таблицы, как:
sysobjects, syscolumns, sysindexes и т.д. (описание есть в BOL)
посмотри их. это самый простой вариант, но более правильный все-таки воспрльзоваться SQL DMO и делать enum с использованием его.
Re: Получение информации о таблицах из MS SQL SERVER.
От: Stewe  
Дата: 26.01.04 08:54
Оценка: +1
Здравствуйте, Par-zzz, Вы писали:

PZ>Здравствуйте!


PZ>Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.


PZ>Что именно надо:


PZ>1. названия таблиц.

PZ>2. названия полей таблиц.
PZ>3. информация по полям(PK, FK, другие условия, наличие на FK каскадного удаления и т.д.)
PZ>4. названия и параметры хранимых процедур работающих с этими таблицами.

PZ>Беглым поиском почти ничего не нашел, подскажите куда копать...


Копай в сторону INFORMATION_SCHEMA.
Re: Получение информации о таблицах из MS SQL SERVER.
От: baa29  
Дата: 27.01.04 02:57
Оценка:
D:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll
Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.

Что именно надо:

1. названия таблиц.
2. названия полей таблиц.
3. информация по полям(PK, FK, другие условия, наличие на FK каскадного удаления и т.д.)
4. названия и параметры хранимых процедур работающих с этими таблицами.

Беглым поиском почти ничего не нашел, подскажите куда копать...

D:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll
Posted via RSDN NNTP Server 1.8 beta
Re: Получение информации о таблицах из MS SQL SERVER.
От: TK Лес кывт.рф
Дата: 27.01.04 04:18
Оценка: :)
Здравствуйте, Par-zzz, Вы писали:

PZ>Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.


PZ>Что именно надо:


Использовать ADOX (придется импортировать *.tlb)
Провайдер борланда BdpConnection позволяет получать информацию о схеме данных
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Получение информации о таблицах из MS SQL SERVER.
От: Alkash  
Дата: 27.01.04 05:31
Оценка:
Здравствуйте, Par-zzz, Вы писали:

PZ>Беглым поиском почти ничего не нашел, подскажите куда копать...


Можно покопать в сторону ODBC API.
Re: Получение информации о таблицах из MS SQL SERVER.
От: Forint Украина  
Дата: 27.01.04 10:17
Оценка: 6 (1) +1
Информация по всем таблицам:
select * from dbo.sysobjects 
where 
OBJECTPROPERTY(id, N'IsUserTable') = 1

либо
  exec sp_tables


Информация по полям таблицы:
EXEC sp_columns @table_name = 'TableName'
... << RSDN@Home 1.1.0 stable >>
Re[2]: Получение информации о таблицах из MS SQL SERVER.
От: KGP http://kornilow.newmail.ru
Дата: 27.01.04 11:00
Оценка: -1
Здравствуйте, V.Petrovski, Вы писали:

VP>Все это можно получить из системных таблиц

да, но лучше использовать системные хранимые процедуры — от версии к версии структура системных таблиц может меняться (Microsoft предупреждал ...)
... << RSDN@Home 1.1.0 stable >>
Re[2]: Получение информации о таблицах из MS SQL SERVER.
От: KGP http://kornilow.newmail.ru
Дата: 27.01.04 11:00
Оценка:
Здравствуйте, TK, Вы писали:

TK>Провайдер борланда BdpConnection позволяет получать информацию о схеме данных

гланды через одно место ... ладноб oledb а раз MS SQL Server то уж или системные хранимки или MS Tools ...
... << RSDN@Home 1.1.0 stable >>
Re[3]: Получение информации о таблицах из MS SQL SERVER.
От: Merle Австрия http://rsdn.ru
Дата: 27.01.04 11:03
Оценка: +1 -1
Здравствуйте, KGP, Вы писали:

KGP>да, но лучше использовать системные хранимые процедуры — от версии к версии структура системных таблиц может меняться (Microsoft предупреждал ...)

Во первых часть системных таблиц в новой версии так же obsolete.
А во вторых лучше использовать INFORMATION_SCHEMA, так как это стандарт.
Мы уже победили, просто это еще не так заметно...
Re[4]: Получение информации о таблицах из MS SQL SERVER.
От: KGP http://kornilow.newmail.ru
Дата: 27.01.04 11:13
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, KGP, Вы писали:


KGP>>да, но лучше использовать системные хранимые процедуры — от версии к версии структура системных таблиц может меняться (Microsoft предупреждал ...)

M>Во первых часть системных таблиц в новой версии так же obsolete.
M>А во вторых лучше использовать INFORMATION_SCHEMA, так как это стандарт.
INFORMATION_SCHEMA не даст полноты информации в отличии от системных таблиц-системных/хранимых процедур
... << RSDN@Home 1.1.0 stable >>
Re[5]: Получение информации о таблицах из MS SQL SERVER.
От: Merle Австрия http://rsdn.ru
Дата: 27.01.04 11:18
Оценка:
Здравствуйте, KGP, Вы писали:

KGP>INFORMATION_SCHEMA не даст полноты информации в отличии от системных таблиц-системных/хранимых процедур

Во первых системные хранимки, каковые ты советовал, так же не дают всю полноту информации, а во вторых полноты информации и не требовалось.
Мы уже победили, просто это еще не так заметно...
Re: Получение информации о таблицах из MS SQL SERVER.
От: wit_2002 Россия  
Дата: 27.01.04 12:10
Оценка:
Здравствуйте, Par-zzz, Вы писали:

PZ>Здравствуйте!


PZ>Мне хотелось бы получить полную информацию о всех таблицах некоторой БД из MS SQL SERVER.


GetOleDbSchemaTable ???

С уважением Андреев ВВ
... << RSDN@Home 1.1.0 stable >>
Re[6]: Получение информации о таблицах из MS SQL SERVER.
От: KGP http://kornilow.newmail.ru
Дата: 28.01.04 06:30
Оценка:
Здравствуйте, Merle, Вы писали:
см.
PZ>4. названия и параметры хранимых процедур работающих с этими таблицами.
M>Во первых системные хранимки, каковые ты советовал, так же не дают всю полноту информации, а во вторых полноты информации и не требовалось.
сегодня нет, а завтра ?
... << RSDN@Home 1.1.0 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.