« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга



ПнВтСрЧтПтСбВс
          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
    Популярное
HP предложит новые сервисы для баз данных MySQL

Компонент программиста

Передача данных в Microsoft Excel с помощью OLE

XmlDataDocument

Полезные функции для работы с файлами

JAVA и WEB-анимация

RSS агрегаторы – как использовать интернет сервисы в корпоративном окружении

Выполнение инструкции присваивания

Работа с Bluetooth в Delphi. Часть 1

Введение в ADO




    Архив файлов



    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 158
Пользователей: 0

Статьи:: Базы данных :: Access :: Параметры ODBC драйвера PostgreSQL



отправить ссылку другу версия для печати  Обсудить на форуме

Параметры ODBC драйвера PostgreSQL



Это описание, в основном, представляет собой более-менее точный перевод документации с официального сайта ODBC драйвера для сервера PostgreSQL. К сожалению, документация эта довольно старая и не содержит даже упоминания о некоторых опциях. В будущем я постараюсь восполнить этот пробел.


  • CommLog (C:psqlodbc.log): Логирует в файл обмен информацией с сервером. Может быть полезен при отладке.

  • MyLog (C:mylog_xxxx.log): Записывает в файл отладочную информацию. Обычно её просят прислать разработчики драйвера, если Вы сообщаете о найденном баге.

  • Disable Genetic Optimizer: Отключает генетический оптимизатор при установлении соединения с сервером. Это сделано только для удобства, чтобы не указывать соответствующий параметр в свойствах соединения вручную. Данный параметр был добавлен разработчиками драйвера, когда они обратили внимание, что сервер не в состоянии успешно оптимизировать некоторые запросы.

  • KSQO (Keyset Query Optimization): Включение этого параметра позволяет серверу безаварийно выполнять некоторые запросы. Ряд приложений, в частности MS Access, используют "keyset" запросы примерно такого вида:

    SELECT ... WHERE (a=1 AND b=1 AND c=1) OR (a=1 AND b=1 AND c=2) ...

    Есть вероятность, что такого типа запросы могут вызвать сбой сервера, если не задействовать данный параметр.

  • Recognize Unique Indexes: Этот параметр контролирует работу функции ODBC SQLStatistics() в части информации, которую та возвращает об уникальных индексах. Если он установлен, то MS Access может автоматически распознать первичный ключ. Только в этом случае присоединённые таблицы будут обновляемыми.

  • ReadOnly (default): Новые источники данных наследуют значение этого параметра для установки атрибута "ReadOnly" ("Только для чтения").

  • Use Declare/Fetch: Если опция включена (по умолчанию), драйвер автоматически создаёт и использует курсор для поддержки SELECT операторов SQL, сохраняя при этом 100 строк в кэше. Это даёт большое преимущество, особенно если Вы заинтересованы только в чтении, а не обновлении записей. Драйвер не забирает столько памяти, сколько потребовалось бы для буферизации всего результата.

    Однако, в этом случае таблица постоянно остаётся открытой, что может вызвать снижение производительности при обновлении записей. Кроме того, данный параметр является наследием стиля совсем старого драйвера podbc32. Сейчас модель распределения памяти значительно улучшена и производительность без использования курсора, как минимум, лучше, чем в старом драйвере.

    При использовании же MS Access, важно помнить, что он применяет свои собственные алгоритмы работы с результатом запроса. Поэтому, установка данной опции, вероятно, даст ожидаемый эффект не во всех случаях.

  • Parse Statements: Когда эта опция включена, драйвер будет анализировать переданную ему команду SQL, чтобы идентифицировать таблицы и поля с целью получения информации о точности, допустимости NULL, о псевдонимах и т.д. Затем эти данные будут использованы в функциях драйвера SQLDescribeCol, SQLColAttributes и SQLNumResultCols.

    До версии 6.4 сервера, это был единственный способ получения сведений о точности для результата запроса.

    Если анализатор не мог справиться с полем (это могла быть функция, выражение и т.п.), он возвращался к старомодной методике выполнения команды и получения информации непосредственно из результирующего множества.

    Синтаксический анализатор достаточно «умён» и способен распознавать множество вещей, таких как псевдонимы полей и таблиц, идентификаторы в кавычках, объединения и многое другое. Он может корректно обработать поле-функцию или выражение независимо от сложности, но даже не пытается в этом случае определить тип данных и точность таких столбцов.

  • Unknown Sizes: Этот параметр контролирует функции SQLDescribeCol и SQLColAttributes в случае возникновения проблем с определением точности (имеется ввиду количество знаков) полей символьных типов данных (varchar, text и unknown). Первоначально это было сделано, чтобы обойти неспособность сервера версии до 6.4 правильно возвращать ширину varchar-полей.

    • Maximum: Всегда возвращается максимальная точность (количество знаков) типа данных.

    • Dont Know: Возвращается величина "Don't Know" и приложению позволяется самому строить дальнейшие предположения.

    • Longest: Возвращает размер самой длинной строки в любом столбце любой записи в выборке. Остерегайтесь этой опции при использовании курсоров, так как размер кэша может давать не самое лучшее представление о длине самой длинной колонки в кэше.

    В случае MS Access наиболее безопасно использовать значение Maximum.

  • Data Type Options: Влияет на отображение некоторых типов данных:

    • Text as LongVarChar: Тип данных TEXT отображается в SQLLongVarchar (в MS Access - это поле Memo), иначе - в SQLVarchar.

    • Unknowns as LongVarChar: Неизвестные типы (массивы и т.п.) отображаются в SQLLongVarChar (для MS Access в случае полей BYTEA и LO - это поле OLE объекта), иначе - в SQLVarchar

    • Bools as Char: Тип Boolean отображается в SQL_CHAR, иначе - в SQL_BIT.

    В случае MS Access, первые два флажка должны быть установлены, а третий - сброшен.

  • Cache Size: При использовании курсоров - это строковый размер кэша кортежей. Если курсоры не используются, то данный параметр определяет, под какое количество кортежей следует иметь уже выделенную память в каждый момент времени. В обоих случаях, значение по умолчанию - 100 строк.

  • Max Varchar Максимальное количество знаков для типов Varchar. Значение по умолчанию 254 соответствует строке в 255 символов, включающей завершающий нуль-символ. Если установить значение, превышающее 254, то MS Access будет воспринимать поля с таким размером как Memo и не даст использовать индексы по ним.

  • Max LongVarChar: Максимальное количество знаков для LongVarChar (в MS Access - это Memo). Значение по умолчанию 4094 соответствует 4095 символам, включая завершающий нуль-символ. Вы даже можете указать здесь значение -4, которое является стандартным для ODBC обозначением величины SQL_NO_TOTAL.

  • SysTable Prefixes: Дополнительные префиксы в именах таблиц, которые должны считаться системными. Драйвер уже воспринимает имена, начинающиеся с "pg_" как имена системных таблиц. Здесь Вы можете добавить собственные префиксы, разделенные точкой с запятой (;), такие как "dd_" который присутствует по умолчанию для таблиц словаря данных.

  • Connect Settings: Это команды, которые будут переданы серверу при успешном подключении. Для разделения команд следует использовать точку с запятой (;). Эти команды будут сопровождать каждый запрос, даже если он возвращает записи. Однако, в таком случае результат может быть потерян.

  • Row Versioning: Позволяет приложениям определять при попытке записи изменённой строки, что данные были модифицированы другим пользователем. Это также ускоряет процесс записи изменений, так как в условие WHERE не нужно включать каждый столбец. Для реализации данного механизма драйвер использует системное поле "xmin". Продукты Microsoft, кажется, успешно используют эту опцию.

  • Disallow Premature: Эта опция компенсирует определённый недостаток функциональности сервера, а именно подготовленные (prepared) запросы, которые PostgreSQL не поддерживал до версии 7.3. Когда приложение уже выполнило prepare-часть запроса, драйвер не знает, как получить информацию о полях результата.

    При использовании данной опции, драйвер открывает курсор на основе переданного запроса и выполняет команду "fetch backward", после чего закрывает курсор. Данные при этом, конечно, не возвращаются, но информация о результирующем множестве уже может быть получена обычным путём.

  • Show System Tables: Заставляет драйвер воспринимать системные таблицы как обычные. Установите этот флажок, если хотите получить доступ к системным таблицам.

  • OID Options:

    • Show Column - Включить служебное поле OID в список полей. Может быть полезно, если таблица не содержит первичного ключа или он состоит из слишком многих частей и неудобен для использования.

    • Fake Index - Эта опция позволяет «подделать» уникальный индекс по полю OID. Данная опция полезна, когда реального уникального индекса по полю OID нет, а приложение этого требует.

  • Protocol:

    • 6.2: Заставляет драйвер использовать Postgres 6.2 протокол, который имеет иную последовательность байтов, протокол и другие семантические отличия.

    • 6.3: Заставляет драйвер использовать Postgres 6.3 протокол. Он совместим и с 6.3 и с 6.4 серверами.

    • 7.X, 6.4+: Заставляет драйвер использовать протокол, совместимый с серверами версий 6.4 и старше.


Как видите, параметров много. Как лучше ими распорядиться, чтобы приложения MS Access могли работать с сервером PostgreSQL максимально корректно? В конференциях не утихают дебаты по этому вопросу, постоянно обнаруживаются новые и новые нюансы настройки тех или иных опций. Однако, для начала, необходимо установить следующие значения (некоторые по умолчанию уже заданы как надо):

  • Установить флаг «Disable Genetic Optimizer».
  • Установить флаг «KSQO».
  • Установить флаг «Recognize Unique Indexes».
  • Снять флаг «ReadOnly».
  • В группе «Data Type Options» установить флаги «Text as LongVarChar» и «Unknowns as LongVarChar», а также снять флаг «Bools as Char».
  • «Max Varchar» задать равным 254.
  • «Max LongVarChar» задать равным 8190.
  • В группе «Unknown Sizes» указать «Maximum».
  • В группе «Protocol» выставить версию Вашего сервера.
Также, я всё-таки рекомендую попробовать установить флаг «Use Declare/Fetch» и не описанный здесь флаг «True is -1».

Смирнов Сергей Юрьевич (SSY) ssmirnov@fromru.com




Рубрика: Access




Подгрузка через AJAX HTML-кода, содержащег....

AJAX

При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.


Подробнее... | Рубрика: AJAX | Добавлено: 19.11.2008

Обзор нового релиза самой мощной Ajax библ....

AJAX

Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.


Подробнее... | Рубрика: AJAX | Добавлено: 19.11.2008

Firebug 1.3 и 1.4 alpha — что нового и инт....

Вебмастеру

Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.


Подробнее... | Рубрика: Вебмастеру | Добавлено: 19.11.2008

Остальные статьи:

Релиз Microsoft Silverlight 2.0. Что новог...
XML документация в C#
Курсоры в MySQL 5
Microsoft опубликовала подробности о сесси...
Microsoft делится подробностями о том, что...
Тестируем новый javascript от нового брауз...
MySQL Query Cache
Использование провайдеров компиляции в As...
Чего мы ждем от C# 4.0
Delphi 2009 и C++Builder 2009
Джоэл Спольски и Джеф Этвуд запустили новы...
Поиск кода Google /* что нового? */
10 jQuery скриптов для улучшения интерфейс...
Генераторы отчетов FastReport 4 и QuickRep...
День программиста — набор стерeотипов
Индусские програмисты
Вышел Django 1.0
Портативная версия Google Chrome Portable
Исходные коды .Net Frameword 3.5 SP1 для о...
Пишем правильный online WYSIWYG-редактор


Цитата дня (все,добавить):

Портал фрилансеров

работа на дому


    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование


Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия