标题:求高手指教:怎样访问和操作用路由器组建的局域网内另一台电脑的VFP数据库表 ...
只看楼主
tdlx
Rank: 1
等 级:新手上路
帖 子:45
专家分:6
注 册:2013-2-7
结帖率:50%
已结贴  问题点数:20 回复次数:17 
求高手指教:怎样访问和操作用路由器组建的局域网内另一台电脑的VFP数据库表?
求高手指教:怎样访问和操作用路由器组建的局域网内另一台电脑的数据库表?
收到的鲜花
  • tlliqi2013-08-12 16:26 送鲜花  20朵   附言:问题不错 关注
搜索更多相关主题的帖子: 数据库表 台电脑 路由器 局域网 
2013-08-12 15:02
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:4 
关注
2013-08-12 16:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:4 
共享文件夹

授人以渔,不授人以鱼。
2013-08-12 17:58
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:4 
用C/S方式,在两台电脑均装有SQL2000的情况下,可以使用ADO方式访问编辑删除外部数据源中表的内容。VFP9有说明的。
以下是访问一个外部叫LIS2002数据库中名字叫bld_ill的表的示例方法,设置好服务器名称,数据库源,数据源账号,密码,就可以访问了,说白点这是一个数据连接,客户端使用远程视图的方式更新服务器的数据。
cConnString = [Provider=SQLOLEDB.1;Data Source=(LOCAL);Initial Catalog=lis2002;User ID=;Password=;Integrated Security=SSPI],连接用到的相关信息:数据库驱动-SQLOLEDB.1,服务器名称:(LOCAL,这儿指的是本机,可以改成你要访问的电脑名称),数据库名称:lis2002,数据库登陆用户:sa,登陆密码:***,连接安全机制:SSPI

程序代码:
* This script handles the ADO Connection and uses a CursorAdapter object
* to retrieve data to a cursor.

PUBLIC oCA as CursorAdapter
LOCAL oConn as ADODB.Connection
LOCAL oRS as ADODB.Recordset
LOCAL oException AS Exception
LOCAL cConnString

* Handle connections - insert connection code
cConnString = [Provider=SQLOLEDB.1;Data Source=(LOCAL);Initial Catalog=lis2002;User ID=;Password=;Integrated Security=SSPI]

TRY 
    oConn  = createobject('ADODB.Connection')

    * Ensure that you handle userid and password if not 
    * specified in connection string.
    *   ex. oConn.Open(cConnString, userid, password)
    oConn.Open(cConnString)

    oRS = CREATEOBJECT("ADODB.Recordset")
    oRS.DataSource.CursorLocation = 3   &&adUseClient
    oRS.DataSource.LockType = 3   &&adLockOptimistic
    oRS.ActiveConnection = oConn

    oCA=CREATEOBJECT("CursorAdapter")
    oCA.DataSourceType = "ADO"
    oCA.DataSource = oRS
    oCA.MapBinary = .T.
    oCA.MapVarchar = .T.

    oCA.Alias = "bld_ill"
    oCA.SelectCmd = "SELECT * FROM bld_ill"
    
    IF !oCA.CursorFill()
        * Replace with error code here
        LOCAL laError
        DIMENSION laError[1]
        AERROR(laError)
        MESSAGEBOX(laError[2])
    ELSE
        * Replace with user code here. Code below allows for
        * you to edit and send updates to the backend.
        LOCAL laFlds,lcStr,lnFldCount,i
        DIMENSION laFlds[1]
        lnFldCount=AFIELDS(laFlds)
        lcStr=""
        FOR i = 1 TO lnFldCount
                lcStr = lcStr + laFlds[m.i,1] +  ","
        ENDFOR
        oCA.UpdatableFieldList = lcStr
        BROWSE NORMAL NOWAIT
    ENDIF

CATCH TO oException
    * Replace with exception handling code here
    MESSAGEBOX(oException.Message)

ENDTRY

* Add user code here.
* Note: cursors created by CursorAdapter object are closed when object is released.



[ 本帖最后由 whinda 于 2013-8-12 19:05 编辑 ]
收到的鲜花
  • tlliqi2013-08-12 20:27 送鲜花  50朵   附言:鼓励鼓励
2013-08-12 19:00
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
得分:4 
按3楼所说方法就可以。前提是:保证能够磁盘访问。
2013-08-12 19:53
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
回复 4楼 whinda
有空试试
2013-08-12 20:27
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:4 
3楼的办法文件的安全性毫无保障。

活到老,学到老! http://www. E-mail:hu-jj@
2013-08-12 21:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
嫌局域网内安全性不够,搬上广域网咯,用局域网干嘛。

授人以渔,不授人以鱼。
2013-08-12 21:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
把账号和密码记录在本地机中,不管是在程序代码内还是外部文件,又有安全性可言?把局域网当广域网使,就不需要用局域网,架设局域网就是贪图它有比广域网方便的地方,在内的都是自己人,不是用来防贼一样防外人的。

[ 本帖最后由 TonyDeng 于 2013-8-12 22:06 编辑 ]

授人以渔,不授人以鱼。
2013-08-12 21:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
局域网的主机在网内,同样有各种各样的人通过共享方式上去,访问服务器的目录不是你这个程序说了算的,到主机上把整个目录复制了去,又有安全性可言?SQL Server数据库的安全性寄托在服务器硬盘无法让人直接访问上,不是它的数据库有多安全,整个拷了去慢慢破解,一样啥都没了,VFP的DBC数据库事件,也同样可以在服务端拦截访问动作,它的安全性跟SQL Server数据库是一样的,即拷了去就总能破解,拷不了,也同样安全。

如果把局域网的安全性建立得跟广域网一样严密,局域网就不必要了。这是一开始确立企业信息系统架构时就应该想好的东西,既然已经决定建立在局域网上,在这上面还要加那么多限制,就是多余的,反过来是决策那个有问题了。

授人以渔,不授人以鱼。
2013-08-12 22:05



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




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

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