|
|
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
В каких БД реализивана INFORMATION_SCHEMA из стандарта SQL-92 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 14:51 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
Дык уже неоднократно говорилось, что стандарты имеют несколько уровней, а различные БД поддерживают далеко не все... В Oracle эта фича НЕ поддерживается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 15:08 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
Стоит задача получать структуры различных баз данных (могут быть СУБД MS SQL, Accsess, FoxPro, Oracle, Flint, Clipper, и т.д., и т.д., и т.д.). В стандарте SQL-92, принятого в 1992 году, для этого вроде предусмотрена INFORMATION_SCHEMA (Информационная схема). Например: Информационная схема (InformationSchema) содержит описание структуры базы данных в виде набора представлений, определенных над базовыми таблицами, которые в свою очередь определены в отдельной схеме определений (DefinitionSchema). http://podgoretsky.com/ftp/Docs/DB/SqlBook/sqlbook_10.html#313 Теперь осталось выяснить в каких БД это работает. В MS SQL 2000 и MS SQL 2005 работает. Проверил на своих базах. В MySQL 5.0 (вроде только 5.0?) тоже реализовано. Лично убедился. Других СУБД у меня нет. Кто что использует подскажите как у вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 15:21 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
tru55Дык уже неоднократно говорилось, что стандарты имеют несколько уровней, а различные БД поддерживают далеко не все... В Oracle эта фича НЕ поддерживается В том-то и дело!! Мне какраз и надо выяснить какие БД поддерживают и сообщить руководству. За Oracle спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 15:25 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
Хм-м-м... Как описано в стандарте - честно говоря не знаю, не читал, м.б. там это чисто логическое понятие. Например, Clipper (FoxPro, Paradox) - это просто набор файлов (каждая таблица или индекс в своем файле), поэтому там понятие схемы базы данных вообще условно. Какой файл программа откроет - с тем и работает. А в Oracle данные об объектах запрашиваются из набора представлений, например all_tables и all_tab_columns - сведения о таблицах и их колонках. Так что, насчет "универсального запроса" - ничего не выйдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 15:31 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
Как я понял, MS SQL, при запросе к таблице INFORMATION_SCHEMA, просто собирает метаданные оттуда, где он их держит, и в виде таблицы возвращает. Поэтому, то что БД - это просто набор файлов вроде не важно. Кто юзал FoxPro или Clliper ОТЗОВИТЕСЬ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 16:12 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
1virtual!Как я понял, MS SQL, при запросе к таблице INFORMATION_SCHEMA, просто собирает метаданные оттуда, где он их держит, и в виде таблицы возвращает. Поэтому, то что БД - это просто набор файлов вроде не важно. Кто юзал FoxPro или Clliper ОТЗОВИТЕСЬ! Я с Clipper в общей сложности работал 8 лет. В исходном виде там SQL вообще не присутствует, используется навигационный доступ к таблицам. Поэтому здесь можно говорить только о файлах. В настоящее время в других средствах (например, в Delphi) работа с файлами *.dbf, *.db через SQL эмулируется с пом. ODBC и др. средств. Но, еще раз повторяю, поскольку каждая таблица - отдельный файл, то нигде не хранится список всех таблиц так называемой БД (можно узнать только структуру отдельной таблицы, которая хранится в заголовке файла). Возможно, эмулирующие средства позволяют создать где-то в своих собственных структурах подобное хранение (если человек туда этот список вручную введет), но это уже вопрос этих средств ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 16:26 |
|
||
|
Реализиция INFORMATION_SCHEMA из стандарта SQL-92
|
|||
|---|---|---|---|
|
#18+
tru55 Я с Clipper в общей сложности работал 8 лет. В исходном виде там SQL вообще не присутствует, используется навигационный доступ к таблицам. Поэтому здесь можно говорить только о файлах. В настоящее время в других средствах (например, в Delphi) работа с файлами *.dbf, *.db через SQL эмулируется с пом. ODBC и др. средств. Но, еще раз повторяю, поскольку каждая таблица - отдельный файл, то нигде не хранится список всех таблиц так называемой БД (можно узнать только структуру отдельной таблицы, которая хранится в заголовке файла). Возможно, эмулирующие средства позволяют создать где-то в своих собственных структурах подобное хранение (если человек туда этот список вручную введет), но это уже вопрос этих средств В Clipper через ODBC можно узнать структуру отдельной таблицы, которая хранится в заголовке файла ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 16:55 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=34364183&tid=1553355]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 137ms |

| 0 / 0 |
