以下是引用lljchi在2016-12-20 10:32:42的发言:
可能我没表达清楚,在程序中使用SPT连接sql我会了,我的表单大部分还是用远程视图连接的,所以在启动时会提示标题中的情况“未发现数据源名称并且未指定默认驱动程序”,
我在操作系统中添加sql ODBC数据源后才可用,windows系统默认的ODBC数据源只有3个。
我现在想把这个步骤自动化该怎么做?
可能我没表达清楚,在程序中使用SPT连接sql我会了,我的表单大部分还是用远程视图连接的,所以在启动时会提示标题中的情况“未发现数据源名称并且未指定默认驱动程序”,
我在操作系统中添加sql ODBC数据源后才可用,windows系统默认的ODBC数据源只有3个。
我现在想把这个步骤自动化该怎么做?
*!* vfp建立ODBC数据源
*!* 作者:tianxia_xiangyu 和数据库相关
*!* 动态数据源
DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING
lnWindowHandle = 0
lcODBCDriver = 'SQL Server' &&DRIVER类型
lcODBCName = 'Server' &&数据源名字
lcODBCDesc = 'Shared Data Source' &&数据源描述
lcODBCServer = 'ATM8505' &&SQL SERVER名字,一般是你电脑的名称
lcODBCDatabase = 'Test' &&要连接的数据库名字
**先试图修改已有的ODBC,如果不存在,返回0。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, 'DSN=' ;
+ lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
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,'BUFFER')
ELSE
MessageBox('添加ODBC数据源成功',16,'BUFFER')
ENDIF
ENDIF
不就是自动添加了吗?
[此贴子已经被作者于2016-12-20 12:03编辑过]