Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

How To Create a Connection Programmatically


View products that this article applies to.

This article was previously published under Q176830

↑ Back to the top


Summary

Under some circumstances, you may need to modify the properties of a connection at run time. This article describes each of the properties and the default values of a connection. The sample code illustrates how to create a connection and use the DBSETPROP() function to set the properties of a connection programmatically.

↑ Back to the top


More information

The following table indicates the data types and default values associated with each of the properties of a connection.
   Property       Connection Designer Label    Data Type   Default Value
   ---------------------------------------------------------------------

   DispLogin        Display Login               Numeric        1
   Asynchronous     Asynchronous Execution      Logical        .F.
   DispWarnings     Display Warnings            Logical        .F.
   BatchMode        Batch Processing            Logical        .T.
   Transactions     Automatic Transactions      Numeric        1
   PacketSize       Packet Size                 Numeric        4096
   Comment                                      Character      ''
   ConnectTimeOut   Connection (sec)            Numeric        15
   IdleTimeOut      Idle (min)                  Numeric        3
   QueryTimeOut     Query (sec)                 Numeric        3
   WaitTime         Wait Time (ms)              Numeric        100
				
The sample code below creates and modifies the properties of a connection:

Note You must change Username=<username> and PWD=<strong password> to the correct values before you run this code. Make sure that Username has the appropriate permissions to perform this operation on the database.
   *Begin code
   LOCAL lcconnstring, lcconname, lnconnections, lbconnexists
   lcconnstring    =  "'DSN=PUBS;DATABASE=pubs;Username=<username>;PWD=<strong password>;'"
   lcconnname      =   "VFPCONN"
   lnconnections   =   0
   lbconnexists    =   .F.
   IF !FILE('VFPCONN.DBC')
   CLOSE DATA ALL
   CREATE DATABASE VFPCONN
   ELSE
   OPEN DATABASE VFPCONN
   ENDIF
   lnconnections=ADBOBJECTS(CONNECTS,'CONNECTION')
   IF lnconnections>0
   FOR i=1 TO ALEN(CONNECTS,1)
   IF UPPER(CONNECTS[i])=lcconnname
   lbconnexists=.T.
   EXIT
   ENDIF
   NEXT
   ENDIF
   IF !lbconnexists
   CREATE CONNECTION &lcconnname CONNSTRING (lcconnstring)
   ENDIF
   * Set connection properties to custom values.
   =DBSETPROP('VFPCONN','Connection','DispLogin', 3)
   =DBSETPROP('VFPCONN','Connection','Asynchronous', .T.)
   =DBSETPROP('VFPCONN','Connection','DispWarnings', .T.)
   =DBSETPROP('VFPCONN','Connection','BatchMode', .F.)
   =DBSETPROP('VFPCONN','Connection','Transactions', 2)
   =DBSETPROP('VFPCONN','Connection','PacketSize',8192)
   =DBSETPROP('VFPCONN','Connection','Comment', 'Comment Added')
   =DBSETPROP('VFPCONN','Connection','ConnectTimeOut', 10)
   =DBSETPROP('VFPCONN','Connection','IdleTimeOut', 0)
   =DBSETPROP('VFPCONN','Connection','QueryTimeOut', 0)
   =DBSETPROP('VFPCONN','Connection','WaitTime',150)
   MODI CONNECTION VFPCONN
   RETURN
   *End code.
				
After running the program code, a dialog appears titled "Connection Designer-VPFCONN." Click the Verify Connection button and a message indicating the connection was successful should appear.

NOTE: In order to use the connection, an ODBC Data source matching the Data source name specified in the connection string must exist.

If the ODBC Data source does not exist, the following ODBC error message is returned:
Connectivity error [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.

↑ Back to the top


References

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
137445� How to Display View and Connection Properties
132231� INFO: Connection Properties You Can Access with SQLGETPROP()
Visual FoxPro Help, version 4.00.950; search on: "DBSETPROP()"

↑ Back to the top


Keywords: KB176830, kbserver, kbhowto, kbdatabase, kbclientserver

↑ Back to the top

Article Info
Article ID : 176830
Revision : 6
Created on : 3/11/2005
Published on : 3/11/2005
Exists online : False
Views : 379