Устанавливает Соединение с Источником Данных используя строку параметров Соединения.

SQLSTRINGCONNECT([lShared] | [cConnectString [, lSharable]])

Параметры

lShared

Определяет флаг создания многопользовательского Соединения.

lShared Краткое Описание

False (.F.)

SQLSTRINGCONNECT( ) не создает Многопользовательское Соединение. (По-умолчанию)

True (.T.)

SQLSTRINGCONNECT( ) создает много пользовательское Соединение с Источником Данных.

cConnectString

Определяет строку параметров Соединения, которая передается текущему Драйверу ODBC (Open Database Connectivity). Система Visual FoxPro передает указанную строку параметров приведенному драйверу. Дополнительная информация о содержании и синтаксисе данных параметров Соединения содержится в технической документации ODBC driver.

Вы также можете использовать системный Диалоговый бокс: Select Connection / Data Source, когда рассматриваемая функция вызавается без указания строки параметров Соединения cConnectString, (в диалоговом режиме определяете необходимые параметры).

lSharable

Определяет, что создаваемое Соединение с Источником Данных по параметрам из cConnectString должно быть создано для многопользовательского использования.

Expand imageВозвращаемое значение

Числового типа. SQLSTRINGCONNECT( ) возвращает положительное, не равное нулю число, являющееся дескриптором успешно установленного Соединения. SQLSTRINGCONNECT( ) возвращает значение = –1, если невозможно установить Соединение.

NoteСовет

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

Expand imageКомментарии

Рассматриваемые функции SQLCONNECT( ) и SQLSTRINGCONNECT( ) возвращают числовое значение, как некоторый дескриптор описателя Соединения (VFP). Вы не можете получить непосредственно Системный Дескриптор Соединения ODBC. Данное значение дескриптора описателя соединения может быть использовано в различных функциях SQL для VFP, чтения и задания параметров текущего Соединения, например, SQLSETPROP( ) и SQLGETPROP( ). Все другие функции SQL используют также полученный вами числовой дескриптор Соединения.

SQLSTRINGCONNECT( ) всегда создает новое Соединение с Источником данных (по-умолчанию). Тем не менее, при установке параметра  lShared = True (.T.) вы можете использовать пулученный дескриптор соединения при выполнении  следующих далее функций SQL. Точнее: если вы задаете параметр lShared = True (.T.), вы можете использовать полученный дескриптор соединения в дальнейшем, например при вызове функции SQLCONNECT( ),  где указать данный дескриптор, как первый параметр. Смотрите дополнительно раздел: SQLCONNECT( ), функция .

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

Expand imageПример

Пример 1:

В следующем примере, используется созданное ранее соединение, описанное в системной таблице драйвера ODBC, которое имеет имя MyFoxSQLNT. SQLSTRINGCONNECT( ) возвращает числовое значение, которое сохраняется в переменной gnHandle.

Если соединение с Источником Данных установлено, SQLSTRINGCONNECT( ) возвращает положительное число, и отображается соответствующий диалоговый бокс Успешности Соединения, а функция SQLDISCONNECT( ) закрывает успешно созданное Соединение.

Если соединение с источником данных Не устанавливается, SQLSTRINGCONNECT( ) возвращает отрицательное зчисловое значение, выдается соответствующее Сообщение.

  CopyCode imageКопировать Код
STORE SQLSTRINGCONNECT('dsn=MyFoxSQLNT;uid=myUserID;pwd=myPassword')
TO gnConnHandle
IF gnConnHandle < 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
= MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
= SQLDISCONNECT(gnHandle)
ENDIF

Пример 2:

В следующих примерах показывается, как вы можете использовать рассматриваемую функцию SQLSTRINGCONNECT( ) без указания системных имен источников данных ( Data Source Name (DSN) ).

  CopyCode imageКопировать Код
lcDSNLess="driver = SQL Server;server=<servername>;uid=<userid>;pwd=<password>"

-или-

  CopyCode imageКопировать Код
lcDSNLess="driver = {SQL Server};server=<servername>;uid=<userid>;pwd=<password>" 

-или-

  CopyCode imageКопировать Код
lcDSNLess="DRIVER = {SQL Server};" ; 
+ "SERVER=<servername>;" ;
+ "UID=<userid>;" ;
+ "PWD=<password>;" ;
+ "DATABASE=PUBS;" ;
+ "WSID=<machine name or userid>;" ;
+ "APP=MicroX(R) Sample App"
lnConnHandle=SQLSTRINGCONNECT(m.lcDSNLess)

Пример 3:

В каждом, из следующих далее, примеров создается новое многопользовательское Соединение. В первом случает отображается соответствующий Диалоговый бокс Select Connection / Data Source , в котором определяются значения параметров создаваемого Соединения, для функции SQLSTRINGCONNECT( ),  которая открывает многопользовательское Соединение.

  CopyCode imageКопировать Код
SQLSTRINGCONNECT(.T.)
SQLSTRINGCONNECT('myConnectionString', .T.)

Expand imageСм. также