标题:请教:有关远程数据服务与远程数据访问的问题
只看楼主
zhangheyuan
Rank: 1
等 级:新手上路
帖 子:74
专家分:4
注 册:2018-5-23
结帖率:85.71%
已结贴  问题点数:20 回复次数:8 
请教:有关远程数据服务与远程数据访问的问题
远程数据,使用SQL数据库当然是最好的方法。
今天想问的是:怎样使用VFP作为ODBC数据源,提供数据服务的问题:
    由于网络安全的原因,我们的局域网不能使用文件夹共享的方式。 我想在提供数据服务的电脑上,添加一个非来宾账户,这个账户对数据文件夹有读、写权限;
但是打开表文件时:  use \\10.90.152.128\sck\user_inf.dbf share 时,会出现登录对话框,提示你输入账户名、密码,这个在程序中怎么隐藏这个登录框? 能像连接SQL 服务器那样就好了!静默完成。
怎样改写这些个令呢?请教高手!

另外,采用FTP服务的方式,用VFP命令 下载--编辑--上载,这样应该可以,但问题来了,在下载--编辑--上载过程中,怎样锁定FTP文件,而不被其他用户改写!放置一个文件做标志是一种方法,有没有更好的方法呢?
   请高手指点!
搜索更多相关主题的帖子: 远程数据 服务 方法 文件 -- 
2019-04-11 21:26
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
得分:5 
打开 dbf 时出现登录提示,好像不是 vfp 的问题吧?是不是:只要进行共享文件(任意文件),都会有提示框?如果是这样,那需要考虑,在程序开始执行的最初始,要加一段自动输入用户名和密码的语句,并使网络一直保持共享状态不退出?
   采用FTP服务的方式,用VFP命令 下载--编辑--上载。如果不用文件标记,你就 下载(同时删除原文件)--编辑--上载,(提前判断文件是否存在再操作,是否可以?)。   不过,最好还是用 sql server ,以上问题都会不存在。
2019-04-12 00:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
use \\10.90.152.128\sck\user_inf.dbf share
这样操作也算是文件夹共享方式吧
用windows api可以随时连接或断开连接
2019-04-12 04:39
sxy166
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:68
专家分:127
注 册:2012-3-28
得分:5 
我就是用省事的,把自己的电脑用户名和密码改成和服务器的电脑一样的了。不过机子少,就两三台机子用。

1、将两个机子的操作系统用户名及密码设成一样,就不提示输入对方电脑的用户名和密码了。

2、将对方电脑添加你的电脑的当前操作系统用户名及密码。

3、将对方电脑启动Guest用户,访问时无需验证即可进入,如:将以下内容粘帖到一个文本文件中,然后将扩展名改为.REG,在对方电脑上双击即可。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
"restrictanonymous"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"restrictanonymous"=dword:00000000
; 以上两行在系统中的位置是:本地安全策略-安全选项-网络访问:不允许SAM帐户和共享
; 的匿名枚举。系统默认值是:已停用。
; 解说:操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然
; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。
; 负面影响是局域网不能互访了。要更改一下才可以解决。




[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"limitblankpassworduse"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
"limitblankpassworduse"=dword:00000000
; 以上两行在系统中的位置是:本地安全策略--安全选项--帐户:使用空白密码的本地帐户
; 只允许进行控制台登录。系统默认值是:已启用。
; 解说:很多人的帐户是不加密码的。这样,当局域网中别的电脑访问本机时,会弹出错误提示:
; 登录失败:用户帐户限制………。这是XP系统的一条安全策略造成的,防止别人趁你空密码时
; 进入你的电脑。如果你觉得无所谓,不必做这些限制,那就把它设为:已停用。


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count]
"HRZR_EHAPCY"=hex:0C,00,00,00,26,00,00,00,F0,FB,E5,52,64,95,C6,01
"HRZR_EHAPCY:"P:\JVAQBJF\flfgrz32\sverjnyy.pcy",Jvaqbjf 防火墙"=hex:0C,00,00,00,08,00,00,00,F0,FB,E5,52,64,95,C6,01

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]
"Epoch"=dword:000001ED

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Providers]
"LogonTime"=hex:E8,31,8E,4F,64,95,C6,01

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Epoch]
"Epoch"=dword:000001ED
; 以上数值对应系统中的位置:控制面板--防火墙--例外--文件和打印机共享。系统默认:不选。
; 解说:所有的策略都设置好了,局域网依然不能访问,提示:您没有权限使用网络资源,找
; 不到网络路径!呵呵,真是令人火冒三丈!其实XP还有一道关卡,就是防火墙,必须要经过
; 防火墙的允许才行。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"forceguest"=dword:00000001
; 以上数值对应系统中的位置是:控制面板--管理工具--本地安全策略--本地策略--安全选项,
; 网络访问:本地帐户的共享和安全模式:仅来宾-本地用户以来宾份验证。这时,当局域网
; 其他机访问本机时,不会弹出对话框,就可以直接进入。在家庭网等完全可以信任的区域,
; 建议使用这种方式。



4、用VFP影射对方电脑,可以在VFP中输入用户名及密码,可以用API也可以用木瓜的 MyFll.Fll
2019-04-12 08:34
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:5 
可以先用 net use 命令打开通道。
2019-04-12 11:20
zhangheyuan
Rank: 1
等 级:新手上路
帖 子:74
专家分:4
注 册:2018-5-23
得分:0 
感谢大家的回复!
2楼的  FTP服务方式,下载(同时删除原文件)--编辑--上载,(提前判断文件是否存在再操作,是否可以?)。   这种方法,问题是:如果上载过程断网或失败,服务器就没有文件可用了,下次在进入系统也挺麻烦的。

5楼的 厨师王德榜 能否提供一套完整的代码,说明怎样访问远程数据?给学习一下呢?
4楼的  “4、.....可以用API”  怎么使用API?那个API 能举例详细说明一下不?

[此贴子已经被作者于2019-4-12 19:41编辑过]

2019-04-12 19:32
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
得分:0 
也可以映射对方电脑的盘符,提前实现持久性连接。
做个批处理文件,里面写入 net use M: \\192.168.10.254\f$ "密码" /user:"administrator" /persistent:yes 只一行代码。
但是要改成适合你的情况。代码的意思是:对方电脑ip是192.168.10.254,要映射到对方电脑的f盘上,这个f盘必须提前设置成共享状态。
双击一次这个批处理文件,看看效果如何?
当映射成功后,你的电脑上会多出一个 M 盘符(M也可以改成别的字母),指的就是对方的f盘.登录对方的用户名是 administrator,密码是登录密码。
 最后,将这个批处理文件考入电脑系统的启动框里(简单的操作),只要开机他会自动运行。(你找找你的电脑里‘启动框’在哪里就可以)。


2019-04-13 00:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用zhangheyuan在2019-4-12 19:32:00的发言:
“.....可以用API”  怎么使用API?那个API 能举例详细说明一下不?

有类似问题的贴,可以搜搜看。
看看这贴,是否可以参考一下:
https://bbs.bccn.net/viewthread.php?tid=486222&highlight=%CD%F8%C2%E7

[此贴子已经被作者于2019-4-13 05:04编辑过]

2019-04-13 05:03
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
回复 6楼 zhangheyuan
可以用木瓜老师的FLL库,有现成的网络映射驱动器代码:
程序代码:
Set Library To myFll

If ShareMapDrive("\\server\share","Z:")=0
    MessageBox("映射驱动器成功!")
else
    MessageBox("失败 !")
endif


Set Library To


函数名:ShareMapDrive(cRemote,cLocalDrive [,cUserName [,cPassword]])
返回值:数值型,为0时映射成功,否则失败
参数:
    cRemote:字符型,网络路径,如\\server\share
    cLocalDrive:字符型,准备映射的盘符,如Z:
    [cUserName]:字符型,可选,网络访问的用户名,默认值为guest。
    [cPassword]:字符型,可选,访问密码,默认为空


[此贴子已经被作者于2019-4-15 08:51编辑过]

2019-04-15 08:50



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




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

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