当前位置: 代码迷 >> PB >> pb怎么下载php网站的数据库数据
  详细解决方案

pb怎么下载php网站的数据库数据

热度:8   发布时间:2016-04-29 06:45:06.0
pb如何下载php网站的数据库数据
情况是这样的,医院的收费系统是pb9.0+mssql2000搞的,现在医院做了一个在线预约就诊的网站,采用的是php+mssql2000,服务器是自己的,ip地址是固定的,数据库名、网址什么的都知道。现在医院不允许pb直接连接到php网站的数据库,因为有多家医院使用同一个网站,每个医院只能下载自己家的数据。请问下大侠们怎么下载php网站采集到的数据,并且在下载后将php网站的对应数据下载标志字段更新为“已下载”。感谢!
----------------------------------------------
另外,很久没来了,看到还有这么多人在坚持搞pb开发很欣慰,大家辛苦了!

------解决方案--------------------
不知道是否要做成下载实时数据还是做成隔日(或者隔一段时间)数据下载?我的建议是php可以将数据生成xml文件,文件名规范好,pb可以通过inet控件去登录规范好的url获取。另外一种就是php生成text文件,然后pb通过ftp去获取然后倒入,不过这个比较麻烦。
------解决方案--------------------
做个webservice,让pb调用不就完了。
------解决方案--------------------
引用:
做个webservice,让pb调用不就完了。


php怎么做webservice?没做过,给点思路。多谢。
------解决方案--------------------
需要php网站做的http的接口,在pb中直接调用这个http接口即可

参考以下代码

PostURL() 
功能执行HTTP   Post,这样PowerBuilder应用程序就可以通过CGI、NSAPI、ISAPI接口发送请求。 
语法servicereference.PostURL   (   urlname,   urldata,   headers,   data   ) 
参数 
servicereference:Inet对象实例或引用 
urlname:String类型,指定要发送请求的URL(统一资源定位器) 
urldata:Blob类型,指定发送给urlname参数指定的URL的参数 
headers:String类型,指定HTML首部。对Netscape浏览器来说,每个HTTP首部之后需要个换行符(~n),在所有首部之后再跟一个换行符(~n) 
data:InternetResult实例变量,用于保存返回的HTML 
返回值 
Integer。函数执行成功时返回1,发生错误时返回下述值: 
  -1一般错误 
  -2指定的URL无效 
  -4不能连接到Internet上 
  -6Internet请求无效 
用法 
该函数的data参数要求是继承了InternetResult对象的类用户对象实例,在该用户对象的定义中,需要定义覆盖函数InternetData(),用于处理Internet返回的HTML数据。由于Internet以异步方式传送数据,因此,data参数必须是某个实例变量或全局变量的引用(例如窗口级实例变量)。 
示例   下面的代码调用PostURL()。其中,Iinet_base是个Inet类型的实例变量;n_ir_msgbox是继承了InternetResult对象的类用户对象,iir_msgbox是该用户对象的一个实例: 
Blob   lblb_args 
String   ls_headers 
String   ls_url 
Long   ll_length 
ir_msgbox   =   CREATE   n_ir_msgbox 
ls_url   =   "http://coltrane.sybase.com/ " 
ls_url   +=   "cgi-bin/pbcgi60.exe/ " 
ls_url   +=   "myapp/n_cst_html/f_test? " 
lblb_args   =   blob( " ") 
ll_length   =   Len(lblb_args) 
ls_headers   =   "Content-Length:   "   +   String(ll_length)   +   "~n~n " 
iinet_base.PostURL(ls_url,   lblb_args,   ls_headers,   iir_msgbox)
  相关解决方案