SqlUtilEnumerateServers - cDbUpdateFunctionLibrary

Enumerates SQL servers for the passed driver ID.


Type: Function


Parameters: String sDriverID Integer iDataSoureType

Parameter

Description

sDriverID

MSSQLDRV_ID, DB2_DRV_ID,ODBC_DRV_ID, ORAFLEX, SQLFLEX, MDSPgSQL or MDSMySQL

iDataSourceType

Optional parameter. For the ODBC driver only. One of three values; SQL_FETCH_USER, SQL_FETCH_SYSTEM or SQL_FETCH_ALL that refers to what ODBC source should be enumerated. Use SQL_FETCH_ALL if unsure as it will return all data sources.


Syntax


Function SQLUtilEnumerateServers String sDriverID Integer iDataSourceType Returns String[]

Call:

Get SQLUtilEnumerateServers MSSQLDRV_ID to sMyServerArray



Description

Use it to retrieve all SQL servers or DSN sources on a machine. The return value is a string array.

Note: It can be used in e.g. a selection list or grid object to display Servers/DSN sources.


Example


Procedure Activating

     tDataSourceRow[] MyData

     Handle hoDataSource

     String[] sValueArray  

     String sDriverID                                          

     Integer iCount iSize

           

     Send Cursor_Wait of Cursor_Control

     Forward Send Activating

           

     Get psDriverID to sDriverID

     Send Ignore_Error of Error_Object_Id DFERR_CANT_LOAD_DLL

     Load_Driver sDriverID

     Send Trap_Error of Error_Object_Id DFERR_CANT_LOAD_DLL

     If (LastErr = 4255) Begin

         Send Info_Box ("Can't display any items because the database driver could not be loaded. (" + sDriverID + ")")

           Procedure_Return

     End

           

     Get SqlUtilEnumerateServers of ghoDbUpdateFunctionLibrary sDriverID SQL_FETCH_ALL to sValueArray

     

     Move (SizeOfArray(sValueArray)) to iSize

     Decrement iSize

     For iCount from 0 to iSize

           Move sValueArray[iCount] to MyData[iCount].sValue[0]

     Loop

           

     Get phoDataSource to hoDataSource

     Send InitializeData of hoDataSource MyData

     Send Cursor_Ready of Cursor_Control

End_Procedure