注册 登录
编程论坛 VFP论坛

关于远程视图和spt的问题

fanjinyu9108 发布于 2021-06-17 18:46, 2011 次点击
程序用远程视图访问效果很好,换成spt后,连接有的能用,有的电脑不能用,但远程视图都能用,这是怎么回事呀,问题的故障是连接不通
  public nhandle
           #DEFINE CON_STRING "DRIVER=SQL Server;SERVER=10.189.129.7;UID=sa;PWD=wjh6552907;database=yk"
           SQLSETPROP(0,"DispLogin" ,3)   &&不显示任何对话框
           nhandle= SQLSTRINGCONNECT(CON_STRING)
           IF  nhandle<=0    &&连接不成功
                       wait clear
                       MESSAGEBOX("远程连接失败!!!",0,"错误信息")
                       return
                       
           ELSE    &&连接成功
               wait clear  
            
           ENDIF   
           
           RETURN nhandle

[此贴子已经被作者于2021-6-17 19:11编辑过]

14 回复
#2
fanjinyu91082021-06-17 18:57
如果我的连接字符串有问题,为什么大多数电脑没有问题,个别电脑只认远程视图,spt访问就出现连接失败,按理说,不管是远程视图,还是SPT,本质都是ODBC,这是什么原因呢?远程视图的连接如下:Description=mm;DRIVER=SQL Server;SERVER=10.189.129.7;UID=sa;PWD=wjh6552907;APP=Microsoft Visual FoxPro;WSID=王库计量1
spt的连接字符串如下:"DRIVER=SQL Server;SERVER=10.189.129.7;UID=sa;PWD=wjh6552907;database=yk;WSID=王库计量1" 二者的区别就是远程视图没有写明数据库

[此贴子已经被作者于2021-6-17 19:04编辑过]

#3
xuminxz2021-06-18 08:39
我以前也遇到过类似问题,是在64位系统中。记得好像是在ODBC中,随便设置了一个SQLServer连接(不需要真实可用,可以指向一个不存在的服务器)就好了。可能这样spt能找到SQLServer驱动。不知道你的情况是否一样。
#4
radiofan2021-06-18 08:41
Sqlstringconnect("provider=MSDASQL;driver={SQL Server};server=服务器地址;database=数据库名;uid=用户名;pwd=密码")

不成功返回负值,一直这么用!
#5
fanjinyu91082021-06-18 10:11
xuminxz师傅,能否用编程的方式创建一个DNS的链接呢 另外radiofan师傅,是否和provider有关系啊

[此贴子已经被作者于2021-6-18 10:19编辑过]

#6
xuminxz2021-06-18 10:14
回复 5楼 fanjinyu9108
我一般是用控制面板建立。导出REG文件,到其它电脑上注册。
#7
fanjinyu91082021-06-18 10:21
xuminxz师傅,能告知导出和注册的方法吗
#8
xuminxz2021-06-18 14:52
最简单的办法:
给连接取一个名字
在注册表中找到它,右键单击,导出。
#9
fanjinyu91082021-06-18 14:59
是dns吗
#10
xuminxz2021-06-18 15:39
回复 9楼 fanjinyu9108
是的。
#11
fanjinyu91082021-06-18 16:10
我在注册了一个DNS,然后导出,又导进客户端电脑,可是还是不行,另外,这个客户端电脑可以用SPT的方式访问另外一台服务器,所以我怀疑是服务器的设置问题
#12
radiofan2021-06-18 16:28
以下是引用fanjinyu9108在2021-6-18 10:11:27的发言:

xuminxz师傅,能否用编程的方式创建一个DNS的链接呢 另外radiofan师傅,是否和provider有关系啊


没这么复杂,你试下不就知道了
lntemp = Sqlstringconnect("provider=MSDASQL;driver={SQL Server};server=服务器地址;database=数据库名;uid=用户名;pwd=密码")
IF lntemp < 0
?失败
else
?成功
endif
#13
fanjinyu91082021-06-18 16:29
当然是失败啊,但是用远程视图却很好
#14
radiofan2021-06-18 16:30
另外,网络环境,你问下你的网管,是否有对ip地址有做限制 ……
#15
fanjinyu91082021-06-19 10:04
谢谢师傅们的解答,问题还没有解决,先暂时放一放
1