Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Привет Всем На рабочей станции я залогинен как Administrator. После создания демо БД при помощи dbdemo_ids.cmd -log, я получил в словаре в качестве владельца - Administrator. При попытке выполнить запрос select * from administrator.orders получаю - объект в БД не существует. select * from "Administrator".orders выполняется. Отсюда возникли вопросы: 1) Квотируемые идентификаторы поддерживаются ("Administrator"), но атрибут соединения SQL_IDENTIFIER_QUOTE_CHAR возвращает одиночный пробел, что значит - источник данных не поддерживает квотируемые идентификаторы. Кому верить ? 2) Атрибуты соединения SQL_QUOTED_IDENTIFIER_CASE, SQL_IDENTIFIER_CASE возвращают SQL_IC_LOWER, что значит - идентификаторы (как квотируемые, так и простые) являются регистронезависимыми и в словаре хранятся в нижнем регистре. Но "Administrator" в моем случае - регистрозависимое. Кому верить ? Удачи, Дмитрий -- AnyDAC - компоненты для доступа к Oracle, MySQL, MSSQL, Interbase, Firebird, MSAccess, IBM DB2, Advantage DS, Sybase ASA, DbExpress, ODBC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2008, 17:17 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
сразу скажу: ниже нет ни слова про odbc. В информиксе бывают ansi и не ansi базы. Большинство девелоперов просто не подозревают, что в базе могут быть две таблицы с одинаковым именем, но с разными владельцами, и владельца в запросах не указывают. http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.ddi.doc/ddi32.htm Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 09:03 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievПривет Всем На рабочей станции я залогинен как Administrator. После создания демо БД при помощи dbdemo_ids.cmd -log, я получил в словаре в качестве владельца - Administrator. При попытке выполнить запрос select * from administrator.orders получаю - объект в БД не существует. select * from "Administrator".orders выполняется. Отсюда возникли вопросы: 1) Квотируемые идентификаторы поддерживаются ("Administrator"), но атрибут соединения SQL_IDENTIFIER_QUOTE_CHAR возвращает одиночный пробел, что значит - источник данных не поддерживает квотируемые идентификаторы. Кому верить ? 2) Атрибуты соединения SQL_QUOTED_IDENTIFIER_CASE, SQL_IDENTIFIER_CASE возвращают SQL_IC_LOWER, что значит - идентификаторы (как квотируемые, так и простые) являются регистронезависимыми и в словаре хранятся в нижнем регистре. Но "Administrator" в моем случае - регистрозависимое. Кому верить ? 1) Не уверен, что понимаю Ваш термин "Квотируемые идентификаторы". На всякий случай скажу, что у Informix'а нет понятия схемы, а имя владельца входит в полное имя объекта. 2). Я вижу, что запрос echo select * from "informix".sysdatabases | dbaccess sysmaster - правильный, echo select * from "informix".Sysdatabases | dbaccess sysmaster - правильный, а echo select * from "INFORMIX".sysdatabases | dbaccess sysmaster - неправильный ( 206: The specified table (INFORMIX.sysdatabases) is not in the database.) Также несомненно, что имена таблиц хранятся в нижнем регистре, а имена владельцев к нижнему регистру не приводятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 10:39 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Алексан Также несомненно, что имена таблиц хранятся в нижнем регистре, а имена владельцев к нижнему регистру не приводятся. дад Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 11:18 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Алексан Также несомненно, что имена таблиц хранятся в нижнем регистре, а имена владельцев к нижнему регистру не приводятся. дад Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 11:41 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
да хоть 7-ка, один фиг, можно, и в этом моя глубокая печаль. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 12:04 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
в общем в информиксе можно окавычивать владельца объекта всегда, если владелелец не окавычен, он будет приведен в нижний регистр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 12:22 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
ansi бд Код: plaintext 1. 2. 3. 4. 5. 6. 7. тоже самое не ansi бд Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2008, 12:28 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Журавлев Денисда хоть 7-ка, один фиг, можно, и в этом моя глубокая печаль. Денис, в чем твоя "глубокая печаль" ? Может мы ее развеем ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:43 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
vasilis Журавлев Денисда хоть 7-ка, один фиг, можно, и в этом моя глубокая печаль. Денис, в чем твоя "глубокая печаль" ? Может мы ее развеем ? :)Такие возможности в информиксе есть, значит надо сделать в esqleditor-е поддержку анси баз и DELIMIDENT, в общем еще пилить и пилить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 15:54 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Журавлев Денисподдержку анси баз и DELIMIDENT, в общем еще пилить и пилить. Послушал я вас - огромное спасибо за обсуждение. Понял, что ODBC в плане метаданных источника данных не совершенно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:53 |
|
||
|
Informix & ODBC & квотируемые идентификаторы
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Журавлев Денисподдержку анси баз и DELIMIDENT, в общем еще пилить и пилить. Послушал я вас - огромное спасибо за обсуждение. Понял, что ODBC в плане метаданных источника данных не совершенно :)Сложно утверждать. Попробуй в setnet32 поставь DELIMIDENT в "y" и посмотри SQL_IDENTIFIER_QUOTE_CHAR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2008, 16:56 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=35250240&tid=1608130]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 429ms |

| 0 / 0 |
