打印本文 打印本文  关闭窗口 关闭窗口  
通过API动态建立odbc
作者:佚名  文章来源:不详  点击数  更新时间:2008/6/12 21:01:13  文章录入:杜斌  责任编辑:杜斌

  DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING

  lnWindowHandle=0

  lcODBCDriver=‘SQL Server‘ &&DRIVER类型

  lcODBCName=‘KSERP‘ &&数据源名字

  lcODBCDesc=‘蝶恋企业资源计划‘ &&数据源描述

  lcODBCServer=‘NT-SERVER‘ &&SQL SERVER名字

  lcODBCDatabase=‘VFPSYS‘ &&要连接的数据库名字

  **先试图修改已有的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数据源失败,请与系统管理员联系!‘,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(‘连接失败,请与系统管理员联系!‘,16,‘警告‘)

  quit &&连接不成功则退出系统。

  return

  ENDIF

打印本文 打印本文  关闭窗口 关闭窗口