EXCEL导入数据库,导入的方法用pb11开发webservice真是很简单,现在我把搭建的过程简单描述一下。
服务端
打开pb11,选择菜单file->new->target->.net web service,然后一路next,最后生产的项目文件中至少包含三项,一个webservice应用,一个p_webservice部署,一个n_webservice用户对象,然后在这个n_webservice对象中写自己的公开函数,即可。
例如,函数string wf_getdw(ref string synac)
SQLCA.DBMS = "ADO.Net" SQLCA.LogPass = "123456" SQLCA.LogId = "sa" SQLCA.AutoCommit = False SQLCA.DBParm = "Namespace='System.Data.SqlClient',Database='mydb',DataSource='.'"
connect;
datastore lds string ls_rtn
lds = create datastore lds.dataobject = "dd" lds.settransobject(sqlca) lds.retrieve()
synac = lds.describe("datawindow.syntax") ls_rtn = lds.describe("datawindow.data")
disconnect; destroy lds
return ls_rtn
然后部署web service,打开p_webservice,可以看到有几个属性页,其中有一个“objcet”页,可以看到你要发布的函数列表。并且前面是打钩的。然后点击菜单design->deploy project,即可部署webservice,但前提你必须有iis和.net。
服务端就可以了。
2、客户端
也很简单,菜单file->new->project->web service proxy wizard,然后next,注意要输入正确的wsdl路径,不知道看服务端的部署项目,“object”属性页里面有。然后客户端会自动连接wsdl,然后找到所发布的用户对象和函数,然后一路next,最后记住在项目文件中要添加pb关于soap的pbd,在sybase目录下的shared目录,将pbsoapclient110.pbd这个文件加入到项目中。
首先声明实例变量
soapconnection i_conn n_webservicesoap iws_proxy_obj
然后在窗口上放一个dw,和一个按钮,其中按钮的事件代码如下:
long ll_rv,ll_result string ls_syntax,ls_data,error_create,ls_abc
i_conn = create soapconnection ll_result = i_conn.setsoaplogfile("mysoap.log") ll_result = i_conn.createinstance(iws_proxy_obj,"n_webservicesoap")
try ls_abc =iws_proxy_obj.wf_gettext(1) messagebox("",ls_abc) ls_data = iws_proxy_obj.wf_getdw(ls_syntax) dw_1.create(ls_syntax,error_create) if len(error_create) >0 then messagebox("",error_create) end if dw_1.importstring(ls_data) catch(soapexception e) messagebox("","") end try
destroy iws_proxy_obj destroy i_conn