Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Функция Server_GetodbcHConn( )

Функция Server_GetodbcHConn( )

Назначение:

Возвращает целое значение, содержащее указатель связи ODBC, ассоциированной со связью с сервером данных.

Синтаксис:

Server_GetodbcHConn (ConnectionNumber)

ConnectionNumber - целое значение возвращаемое функцией Server_Connect, которая определяет номер соединения с сервером данных.

Описание:

Эта функция возвращает целое значение, содержащее указатель связи ODBC, ассоциированной со связью с сервером данных. Это позволяет Вам любую функцию в ODBC DLL, чтобы расширить функциональные возможности, посредством использования MapBasic операторов типа Server.

Пример:

’* Нахождение связи с сервером данных

DECLARE FUNCTION SQLGetInfo LIB ”ODBC32.DLL” (BYVAL odbchdbc AS INTE GER, BYVAL infoflag AS INTEGER, val AS STRING, BYVAL len AS INTEGER, outlen AS INTEGER) AS INTEGER

Dim rc, outlen, hdbc, odbchdbc AS INTEGER

Dim DBName AS STRING

’ Связь с сервером данных

hdbc

=

Server_Connect(”QELIB”, ”DLG=1”)

odbchdbc

 

= Server_GetodbcHConn(hdbc) ’ получение указателя связи ODBC

’ Получение имени базы данных из ODBC

DBName

=

STRING$(33, ”0”) ’ Инициализация выходного буфера

rc = SQLGetInfo(odbchdbc, 17 , DBName, 40, outlen) ’ получение имени базы данных ODBC

’ Отображение результатов (имя базы данных) if rc <> 0 THEN

Note ”SQLGetInfo Error rc=” + rc + ”, outlen=” + outlen else

Note ”Connected to Database: ” + DBName end if

Смотрите также:

Server_GetodbcHStmt()

472

Справочник MapBasic

Функция Server_GetodbcHStmt( )

Функция Server_GetodbcHStmt( )

Назначение:

Возвращает указатель оператора ODBC, ассоциированный с MapBasicLоператором типа Server.

Синтаксис:

Server_GetodbcHStmt(StatementNumber)

StatementNumber L целое значение, возвращаемое функцией Server_Execute(), которое указывает на результирующий набор исполненного SQLLоператора.

Описание:

Эта функция возвращает указатель оператора ODBC, ассоциированный с MapBasicLоператором типа Server. Это позволяет Вам вызывать любую функцию ODBC, для расширения функциональных возможностей посредством использования MapBasicLоператоров типа Server.

Пример:

Нахождение номеров строк, которые будут обновляться Dim rc, outlen, hdbc, hstmt, odbchstmt AS INTEGER

Dim RowsUpdated AS INTEGER

Нахождение номеров строк, подлежащих обновлению

DECLARE FUNCTION SQLRowCount LIB ”ODBC32.DLL” (BYVAL odbchstmt AS INTE GER, rowcnt AS INTEGER) AS INTEGER

hdbc = Server_Connect(”QELIB”, ”DLG=1”)

hstmt = Server_Execute(hdbc, ”UPDATE TIML.CUSTOMER SET STATE=’NY’ WHERE STATE=’NY’”)

odbchstmt = Server_GetodbcHStmt(hstmt) rc = SQLRowCount(odbchstmt, RowsUpdated)

Note ”Updated ” + RowsUpdated + ” New customers to Tier 1”

Смотрите также:

Server_GetodbcHConn( )

Справочник MapBasic

473

Оператор Server Link Table

Оператор Server Link Table

Назначение:

Создает связанную таблицу. Здесь приводится синтаксис для версии 4.1, который позволяет создавать связанную таблицу, используя существующую связь с базой данных.

Синтаксис1:

Server Link Table

SQLQuery

Using ConnectionString Into TableName

[ File FileSpec]

[ ReadOnly ]

Синтаксис2:

Server ConnectionNumber Link Table SQLQuery

Into TableName

[ File FileSpec]

[ ReadOnly ]

ConnectionNumber – номер соединения с сервером данных.

SQLQuery – SQLLоператор запроса (на активном диалекте с добавлением объектных ключевых слов), который генерирует результирующий набор. Таблица MapInfo связывается именно с этим результирующим набором.

ConnectionString – строка, используемая для подключения к серверу базы данных (см. описание функции Server Connect).

TableName – псевдоним создаваемой таблицы MapInfo.

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

ReadOnly – задает использование таблицы только для чтения.

Описание:

Этот оператор создает связанную таблицу MapInfo на диске. Эта таблица открывается и к ней обращается запрос. Связанная таблица обрабатывается как обычная таблица MapInfo в большинстве случаев, кроме следующих:

оператор Alter Table не выполняется для связанных таблиц;

связанные таблицы не могут быть упакованы;

в список диалога “Упаковка” эти таблицы не включаются.

Синтаксис Server Link Table используется для установки связи сервера базы данных и связанной таблицы. Server ConnectionNumber Link Table используются для связи таблицы с подключенным сервером базы данных.

Связанные таблицы содержат информацию для переустановки связи с удаленным сервером и идентификации удаленных данных, которые обновляются. Эта информация хранится в виде метаданных в TABLфайле.

474

Справочник MapBasic

Оператор Server Link Table

Отсутствие ключевого слова ReadOnly не означает возможности редактирования таблицы. Связанная таблица может быть запрещена для записи при следующих обстоятельствах:

1) результирующий набор разрешен только для чтения; 2) результирующий набор не содержит первичного ключа; 3) в результирующем наборе отсутствуют редактируемые столбцы; 4) указан режим ReadOnly.

Примеры:

Declare Sub Main

Sub Main

Open table ”C:\mapinfo\data\states.tab”

Server Link Table ”Select * from Statecap” Using ”DSN=MS Access;DBQ=C:\MSOFFICE\ACCESS\DB1.mdb” Into test File ”C:\tmp\test” Map From Test,States

End Sub ’Main

Declare Sub Main Sub Main

Dim ConnNum As Integer

ConnNum = Server_Connect(”qelib”,”DSN=SQS;PWD=sysmal;SRVR=seneca”) Server ConnNum Link Table

”Select * from CITY_1” Into temp

Map From temp

Server ConnNum Disconnect

End Sub

Смотрите также:

Unlink, Drop Table, Save File, Commit Table, Rollback Table, Close Table, Server Refresh

Справочник MapBasic

475

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]