通過API動態(tài)建立odbc

字號:

DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING
    lnWindowHandle=0
    lcODBCDriver=‘SQL Server‘ &&DRIVER類型
    lcODBCName=‘KSERP‘ &&數(shù)據(jù)源名字
    lcODBCDesc=‘蝶戀企業(yè)資源計劃‘ &&數(shù)據(jù)源描述
    lcODBCServer=‘NT-SERVER‘ &&SQL SERVER名字
    lcODBCDatabase=‘VFPSYS‘ &&要連接的數(shù)據(jù)庫名字
    **先試圖修改已有的ODBC,如果不存在,返回0。
    lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
    ‘DSN=‘ + lcODBCName + CHR(0) ;
    + ‘Description=‘ + lcODBCDesc + CHR(0) ;
    + ‘Server=‘ + lcODBCServer + CHR(0) ;
    + ‘Database=‘ + lcODBCDatabase + CHR(0))
    SQLSETPROP(0,‘DispLogin‘,3)
    IF lreturn=0 &&不存在,則添加新的ODBC
    lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
    ‘DSN=‘ + lcODBCName + CHR(0) ;
    + ‘Description=‘ + lcODBCDesc + CHR(0) ;
    + ‘Server=‘ + lcODBCServer + CHR(0) ;
    + ‘Database=‘ + lcODBCDatabase + CHR(0))
    IF lreturn=0 &&失敗
    MessageBox(‘添加ODBC數(shù)據(jù)源失敗,請與系統(tǒng)管理員聯(lián)系!‘,16,‘警告‘)
    quit
    return
    ENDIF
    ENDIF
    gnConnhandle = SQLSTRINGCONNECT(‘driver=‘+lcODBCDriver+‘;server=‘+lcODBCServer+‘;uid=sa;pwd=;database=‘+lcODBCDatabase)
    SQLSETPROP(0,‘DispLogin‘,3)
    SQLSETPROP(0,"IdleTimeout",0)
    IF gnConnhandle>0
    * MESSAGEBOX(‘連接成功!‘)
    ELSE
    MESSAGEBOX(‘連接失敗,請與系統(tǒng)管理員聯(lián)系!‘,16,‘警告‘)
    quit &&連接不成功則退出系統(tǒng)。
    return
    ENDIF