13.4. Особенности СУБД

Ниже описываются особенности использования различных СУБД с CLIP.

13.4.1. MySQL

13.4.1.2. Синтаксис ConnectNew()

Для подключения к серверу MySQL используется следующий синтаксис ConnectNew():

ConnectNew("MS",[<cHost>],[<cPort>],[<cLogin>],[<cPassword>],[<cDB>],;
	[<cSocket>],[<cFlags>],[<cCharset>],[<cIsolation>])

где

  • "MS" - идентификатор драйвера MySQL; см. также описание функции SQLList()

  • cHost - строка, содержащая имя хоста сервера MySQL

  • cPort - номер порта сервера в виде строки

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cDB - строка, содержащая имя базы данных

  • cSocket - строка, содержащая имя UNIX socket или pipe, используемого в качестве транспорта

  • cFlags - флаги соединения в виде строки; см. руководство по MySQL

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")

  • cIsolation - строка, содержащая имя уровня изоляции, используемого по умолчанию (см. подробности в руководстве по MySQL); если NIL, используется SET("MS_ISOLATION_LEVEL"); возможны следующие значения:

    • READ UNCOMMITTED

    • READ COMMITTED

    • REPEATABLE READ

    • SERIALIZABLE

    эти же значения могут использоваться в качестве значений параметра <cIsolation> метода TRowset:Start().

13.4.2. PostgreSQL

13.4.2.2. Синтаксис ConnectNew()

Для подключения к серверу PostgreSQL используется следующий синтаксис ConnectNew():

ConnectNew("PG",[<cHost>],[<cPort>],[<cLogin>],[<cPassword>],[<cDB>],;
	[<cTTY>],[<cOptions>],[<cCharset>],[<cIsolation>])

где

  • "PG" - идентификатор драйвера PostgreSQL; см. также описание функции SQLList()

  • cHost - строка, содержащая имя хоста сервера PostgreSQL

  • cPort - номер порта сервера в виде строки

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cDB - строка, содержащая имя базы данных

  • cTTY - терминал для вывода отладочной информации

  • cOptions - дополнительные параметры соединения; см. руководство по PostgreSQL

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")

  • cIsolation - строка, содержащая имя уровня изоляции, используемого по умолчанию (см. подробности в руководстве по PostgreSQL); если NIL, используется SET("PG_ISOLATION_LEVEL"); возможны следующие значения:

    • READ COMMITTED

    • SERIALIZABLE

    эти же значения могут использоваться в качестве значений параметра <cIsolation> метода TRowset:Start().

13.4.3. Oracle 8i

13.4.3.2. Синтаксис ConnectNew()

Для подключения к серверу Oracle используется следующий синтаксис ConnectNew():

ConnectNew("OR",NIL,NIL,<cLogin>,<cPassword>,[<cDB>],NIL,NIL,[<cCharset>],[<cIsolation>])

где

  • "OR" - идентификатор драйвера Oracle; см. также описание функции SQLList()

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cDB - строка, содержащая имя базы данных (connect string)

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")

  • cIsolation - строка, содержащая имя уровня изоляции, используемого по умолчанию (см. подробности в руководстве по Oracle); если NIL, используется SET("OR_ISOLATION_LEVEL"); возможны следующие значения:

    • READ COMMITTED

    • SERIALIZABLE

    • READ ONLY

    • READ WRITE

    эти же значения могут использоваться в качестве значений параметра <cIsolation> метода TRowset:Start().

13.4.3.4. Другие особенности

Массив параметров SQL (используемый в качестве значения параметра <aParameters> методов TConnect:Command() иTConnect:CreateRowset()) должен содержать третий элемент (тип данных Oracle) в каждой строке. Типы данных Oracle определены в файле oracle.ch. Например:

#include "oracle.ch"
// ...
conn:Command("INSERT INTO mytable (fname,lname) VALUES (:fname,:lname)",;
	{{"fname","John",ORT_VARCHAR2},{"lname","Smith",ORT_VARCHAR2}})

Оператор INSERT, содержащийся в параметре <cInsertSQL> конструктора TRowset TConnect:CreateRowset(), должен содержать предложение RETURNING rowid. Например:

INSERT INTO mytable (fname,lname) VALUES (:fname,:lname) RETURNING rowid INTO :rowid

13.4.4. Interbase/Firebird

13.4.4.2. Синтаксис ConnectNew()

Для подключения к серверу Interbase используется следующий синтаксис ConnectNew():

ConnectNew("IB",NIL,NIL,<cLogin>,<cPassword>,<cDB>,NIL,NIL,[<cCharset>],[<cIsolation>])

где

  • "IB" - идентификатор драйвера Interbase; см. также описание функции SQLList()

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cDB - строка, содержащая имя базы данных (имя файла)

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")

  • cIsolation - строка, содержащая имя уровня изоляции, используемого по умолчанию (см. подробности в руководстве по Interbase); если NIL, используется SET("IB_ISOLATION_LEVEL"); возможны следующие значения:

    • CONCURRENCY

    • READ COMMITTED or READ_COMMITTED

    • REC VERSION or REC_VERSION

    • NO REC VERSION or NO_REC_VERSION

    • CONSISTENCY

    • WAIT

    • NOWAIT

    • READ

    • WRITE

    эти же значения могут использоваться в качестве значений параметра <cIsolation> метода TRowset:Start().

13.4.4.4. Другие особенности

При использовании драйвера Interbase метод TConnect:Start() может получать второй параметр <cLockTables>, в котором описывается какие таблицы и как должны быть заблокированы на время транзакции. Строка, содержащаяся в <cLockTables> должна иметь следующий формат:

<table_name>=<lock_type>[;<table_name>=<lock_type>,...]

где <table_name> - имя таблицы; <lock_type> - тип блокировки; возможны следующие значения:

  • SHARED_READ

  • SHARED_WRITE

  • PROTECTED_READ

  • PROTECTED_WRITE

См. подробности в руководстве по Interbase.

13.4.5. ODBC driver manager

13.4.5.2. Синтаксис ConnectNew()

Для подключения к базе данных через ODBC используется следующий синтаксис ConnectNew():

ConnectNew("ODBC",<cDSN>,[<cLogin>],[<cPassword>],NIL,NIL,NIL,NIL,[<cCharset>])

где

  • "ODBC" - идентификатор драйвера ODBC; см. также описание функции SQLList()

  • cDSN - строка, содержащая имя источника данных (см. руководство по ODBC и файл odbc.ini)

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")

13.4.6. DBTCP proxy server for ODBC connections

13.4.6.2. Синтаксис ConnectNew()

Для подключения к базе данных через DBTCP используется следующий синтаксис ConnectNew():

ConnectNew("DBTCP",[<cHost>],[<cPort>],[<cLogin>],[<cPassword>],<cDSN>,NIL,NIL,[<cCharset>])

где

  • "DBTCP" - идентификатор драйвера DBTCP; см. также описание функции SQLList()

  • cHost - строка, содержащая имя хоста на котором работает сервер DBTCP

  • cPort - номер порта сервера в виде строки

  • cLogin - строка, содержащая логин пользователя

  • cPassword - строка, содержащая пароль пользователя

  • cDSN - строка, содержащая имя источника данных

  • cCharset - кодировка, используемая сервером; если NIL, используется SET("SQL_CHARSET")