标题:未发现数据源名称并且未指定默认驱动程序
只看楼主
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用lljchi在2016-12-20 10:32:42的发言:

可能我没表达清楚,在程序中使用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编辑过]

2016-12-20 12:02
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
得分:0 
vfp 用代码连接 sql server 常规情况都是自动连接,是不用特别设置ODBC的。甚至接触这个内容都不需要。视图出现楼主所说的情况,很可能是手动设置造成的。我的建议,不要手动设置ODBC以及手动建立视图,用代码实现自动连接,自动创建视图,不会存在这种问题的。微软对vfp 曾经下过大工夫,与sql server 交互功能非常强大,可以像操作 dbf 文件差不多。能使得代码连接,自动创建远程视图的代码,不需要我们手工去写,只要掌握了他的某些工具,就会为我们自动生成各类代码,可以直接使用。对数据库的各种查询,更新,删除,表结构的改造,创建数据库与表...,等等等等,实现的那么容易,稳定可靠!使人爱不释手的。

星际花草
2016-12-20 12:11
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
得分:0 
回复 11楼 mywisdom88
非常感谢,成功自动添加了
2016-12-20 13:31
lljchi
Rank: 2
等 级:论坛游民
帖 子:172
专家分:95
注 册:2016-7-21
得分:0 
回复 12楼 hepingfly
谢谢您的建议,在慢慢学习,会逐步把远程视图换成spt方式连接
2016-12-20 13:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472590-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.180163 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved