一、pc服务器端的安装及设置
安装ssceserver1.0
安装并配置iis5.0(或更高版本)
1.安装
依次单击“开始”、“控制面板”,然后单击“添加/删除程序”。单击“添加/删除 windows 组件”。出现 windows 组件向导。按照屏幕上的说明安装、删除或添加internet信息服务(iis) 组件。安装好之后,在ie浏览器的地址栏中键入 http://localhost/ 然后按 enter,如果有正常显示就说明iis已安装正确,如遇到问题可查看 iis 联机文档。
2.配置
打开“控制面板->管理工具->internet 信息服务”,设置步骤如下列图所示:
(1)增加虚拟目录
(2) 虚拟目录名称为:sqlce
(3) 填写虚拟目录路径
(4) 设置访问权限(注意:选中“执行(如isapi应用程序或cgi)”)
(5) 测试安装是否正确
打开ie浏览器,在地址栏中输入http://localhost/sqlce/sscesa10.dll
如果显示为“body”则说明设置正确。
二、pocketpc端的安装
安装sqlce1.0
从微软网站下载:
http://download.microsoft.com/download/sqlsvr2000/utility/3.0/nt5xp/en-us/sqldash.exe
解压后运行:c:"sqldash"sqldash"ppc"ppcsetup.exe
在pocketpc上创建sqlce数据库
创建表代码如下:
public goadoxcat as adoxce.catalog
set adoxcat = createobject("adoxce.catalog.3.1")
adoxcat.create"provider=microsoft.sqlserver.oledb.ce.1.0;
data source="test"
三、数据库同步代码(evb/asp)
'数据库连接ado connection对象
public conn as adoce.connection
public localconnstr, remoteconnstr, interneturl, serverip as string
'同步前的初使化
public function syncinit()
'本地sqlce连接connectstring
localconnstr = "provider=microsoft.sqlserver.oledb.ce.1.0;data source="test"
set conn = createobject("adoce.connection.3.0")
conn.connectionstring = localconnstr
'如果数据库是打开的则先关闭
if conn.state = 1 then conn.close
'pc服务器的地址
serverip = "192.168.0.1"
'远程sql server2000数据库连接地址
remoteconnstr = "provider=sqloledb;initial catalog=aircraftmobile;data source=" + serverip + ";user id=test;password=test;"
'远程pc机上的sqlce同步的web地址(在iis设置)
interneturl = "http://" + serverip + "/sqlce/sscesa10.dll"
end function
'数据同步
public function synctable(tablename, sql)
deltable (tablename)
set cerda = createobject("ssce.remotedataaccess.1.0")
cerda.localconnectionstring = localconnstr
cerda.interneturl = interneturl
on error resume next
‘把pc数据库中的表同步到pocketpc中
cerda.pull tablename, sql, remoteconnstr, trackingoff
‘把pocketpc中的数据同步到pc中
‘此行已注释:gorda.push tablename, remoteconnstr
if cerda.errorrecords.count > 0 then
for each gceerr in cerda.errorrecords
strerr = ""
strerr = strerr + "错误号:" + trim(gceerr.nativeerror) + " "
strerr = strerr + "目标:" + gceerr.description + " "
msgbox tablename + ":" + strerr
next
end if
set cerda = nothing
end function
'删除表
public function deltable(tablename)
set conn = createobject("adoce.connection.3.0")
conn.connectionstring = "provider=microsoft.sqlserver.oledb.ce.1.0;data source="test"
conn.open
on error resume next
conn.execute ("drop table " + tablename)
conn.close
end function
function remotesql(sql)
if trim(sql)<>"" then
if mid(sql,len(sql),1)<>";" then sql = sql & ";"
set cerda = createobject("ssce.remotedataaccess.1.0")
cerda.interneturl = interneturl
sql = "begin transaction; use test;" & sql & "commit transaction;"
on error resume next
cerda.submitsql sql,remoteconnstr
if cerda.errorrecords.count > 0 then
for each gceerr in cerda.errorrecords
strerr = ""
strerr = strerr & "错误号: " & trim(gceerr.nativeerror) & vbcrlf
strerr = strerr & "出错目标: " & gceerr.description & vbcrlf
msgbox strerr
next
end if
set cerda = nothing
end if
end function
用勤奋之这石,补能力之缺口!
浙公网安备 33010602011771号