CN110968625A - SQLserver数据库与第三方平台交互的方法及*** - Google Patents

SQLserver数据库与第三方平台交互的方法及*** Download PDF

Info

Publication number
CN110968625A
CN110968625A CN201910959228.6A CN201910959228A CN110968625A CN 110968625 A CN110968625 A CN 110968625A CN 201910959228 A CN201910959228 A CN 201910959228A CN 110968625 A CN110968625 A CN 110968625A
Authority
CN
China
Prior art keywords
http request
creating
storage process
trigger
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910959228.6A
Other languages
English (en)
Inventor
邵河山
张小福
王雨功
刘松青
黄俊杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wanghai Kangxin Beijing Technology Co Ltd
Original Assignee
Wanghai Kangxin Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wanghai Kangxin Beijing Technology Co Ltd filed Critical Wanghai Kangxin Beijing Technology Co Ltd
Priority to CN201910959228.6A priority Critical patent/CN110968625A/zh
Publication of CN110968625A publication Critical patent/CN110968625A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了SQLserver数据库与第三方平台交互的方法及***,其中所述方法包括:使得SQLserver允许通过存储过程对外发出呼叫;创建用于实现http请求发送的存储过程;在数据库表上创建触发器;响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。本发明通过在SQLserver数据库直接发起http请求调用第三方接口,使得数据库为SQLserver的老***与第三方***的交互容易且耗费时间少。

Description

SQLserver数据库与第三方平台交互的方法及***
技术领域
本申请涉及电数字数据处理领域,尤其涉及SQLserver数据库与第三方平台交互的方法及***。
背景技术
随着互联网的不断发展,一些传统的、数据库为SQLserver的老***需要与其他第三方平台/***进行交互,以适应时代发展的需要,尤其是医院信息化***最为明显。
现有解决方案之一是对老***进行修改重新实现,但由于历史原因,往往再次开发难度十分大。另一种方案是不对老***进行修改,而是通过第三方***定时去老***查询需要的数据,但这种方案时效性较差,而且需要对数据库表结构进行调整来实现已处理数据和未处理数据的区分。
发明内容
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种SQLserver数据库与第三方平台交互的方法及***,其实现容易、耗费时间少,无需对老***进行大的改动即可实现与第三方平台的交互。
为解决上述技术问题,根据本发明的第一方面,提供一种SQLserver数据库与第三方平台交互的方法,该方法包括:
使得SQLserver允许通过存储过程对外发出呼叫;
创建用于实现http请求发送的存储过程;
在数据库表上创建触发器;
响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。
作为本发明所述方法的改进,所述存储过程包括:
对调用存储过程时传递的参数校验;
响应于校验通过,创建serverxmlhttp对象;
使用serverxmlhttp对象创建到第三方平台目标地址的连接;
设置超时时间、http请求头中的媒体类型信息、http请求实体的大小;
发送拟发送的数据;
处理http请求返回的信息并返回给调用该存储过程的触发器告知http请求是否成功。
作为本发明所述方法的另一种改进,所述存储过程还包括:响应于http请求失败,给出失败的错误提示。
作为本发明所述方法的又一种改进,所述触发器还包括:在封装拟发送的数据之前还包括过滤不满足条件的数据。
为解决上述技术问题,根据本发明的第二方面,提供一种实现SQLserver数据库与第三方平台交互的***,该***包括:
配置模块,用于使得SQLserver允许通过存储过程对外发出呼叫;
存储过程创建模块,用于创建用于实现http请求发送的存储过程;
触发器创建模块,用于在数据库表上创建触发器;
触发模块,用于响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。
为解决上述技术问题,本发明的有形计算机可读介质,包括用于执行本发明的SQLserver数据库与第三方平台交互的方法的计算机程序代码。
为解决上述技术问题,本发明提供一种装置,包括至少一个处理器;及至少一个存储器,含有计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器使得所述装置执行本发明的SQLserver数据库与第三方平台交互的方法的至少部分步骤。
按照本发明,通过在老***的数据库中建立触发器,在老***中的业务操作会对数据库中对应的业务表中数据进行更改,这时会触发建立在业务表上的触发器,对触发的数据进行处理,过滤不满足条件的数据,然后封装业务数据结构,调用存储过程直接发起HTTP请求对接第三方平台/***。本发明相较于现有技术方案实施十分简便,与第三方平台交互耗费时间少。
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明***的一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
下面参照附图对本发明的实施方式和实施例进行详细说明。
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明的SQLserver数据库与第三方平台交互的方法的一实施例的流程图。
在步骤S102,将SQLserver方面->***应用配置->OleAutomationEnable下属性由false改为true,以允许SQLserver通过存储过程对外发出呼叫。
在步骤S104,创建一个存储过程实现http请求发送的具体处理,例如用SQL语句表达为CREATE proc[dbo].[spHTTPRequest]。在实施例中,存储过程的具体处理包括:第一步,对调用该存储过程时传递过来的参数如第三方平台的地址、请求方式(例如post请求)、请求的媒体类型信息(例如application/json)、封装的要发送数据的内容、存储过程要返回的提示等进行简单校验。例如校验请求方式是否是get或者post,不能为其他内容,以及校验请求的地址、请求的媒体类型信息、请求内容等不能为空。满足条件则进行到第二步操作,否则返回具体的错误提示。第二步,调用windows操作***ServerXMLHTTP.3.0组件创建serverxmlhttp对象,如果创建成功则进行下一步,否则返回具体的错误提示。第三步,使用serverxmlhttp对象通过post或者get方式创建到第三方平台目标地址的连接,如果创建成功则进行下一步,否则返回具体的错误提示。第四步,设置超时时间,设置http请求头中的媒体类型信息(Content-Type)、请求实体的大小(Content-Length)。第五步,调用底层的一个send方法进行数据(body)的发送。第六步,处理http请求返回的信息,根据http返回的状态码判定成功还是失败,并返回给调用该存储过程的触发器告知请求成功还是失败,如果失败,还可返回失败的错误提示。
在步骤S106,在相应的数据库表上创建触发器。触发器包括***/新增触发器、删除触发器和/或更新/修改传感器。***触发器在向表中***数据时被触发,删除触发器在从表中删除数据时被触发,更新触发器在修改表中数据时被触发。在触发器被触发的情形下,根据所触发的触发器类型,对触发的数据(***的数据、更新的数据或者删除的数据)进行处理,过滤不满足规定条件的数据,对满足条件的数据进行数据封装,并调用步骤S104创建的存储过程。
在步骤S108,响应于对数据库表中的数据进行修改,触发该数据库表上创建的触发器,过滤不满足条件的数据,封装拟发送的数据,调用存储过程将http请求发送到第三方平台而与第三方平台对接。发送http请求用SQL语句可表达为:
EXEC spHTTPRequest@urlStr,'POST','application/json',@body,@responseText OUTPUT
即,调用步骤S104中创建的存储过程(spHTTPRequest)并传递以下几个参数:第三方平台的地址(@urlStr)、请求方式(post请求)、请求的媒体类型信息(application/json)、封装的要发送数据的内容(@body)、存储过程要返回的提示(@responseText)。
图2示出了根据本发明的实现SQLserver数据库与第三方平台交互的***的结构示意图。该***包括:配置模块202,用于使得SQLserver允许通过存储过程对外发出呼叫;存储过程创建模块204,用于创建用于实现http请求发送的存储过程;触发器创建模块206,用于在数据库表上创建触发器;触发模块208,用于响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。在实施例中,存储过程创建模块204可包括:校验子模块,用于对调用存储过程时传递的参数校验;第一创建子模块,用于响应于校验通过,创建serverxmlhttp对象;第二创建子模块,用于使用serverxmlhttp对象创建到第三方平台目标地址的连接;设置子模块,用于设置超时时间、http请求头中的媒体类型信息、http请求实体的大小;发送子模块,用于发送拟发送的数据;处理子模块,用于处理http请求返回的信息并返回给调用该存储过程的触发器告知http请求是否成功;错误提示子模块,用于响应于http请求失败,给出失败的错误提示。
在此所述的多个不同实施例或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、ROM、RAM、闪存、便携计算机存储介质如CD-ROM、DVD-ROM、闪盘驱动器和/或例如具有通用串行总线(USB)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作***使用。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。

Claims (10)

1.一种SQLserver数据库与第三方平台交互的方法,其特征在于,所述方法包括:
使得SQLserver允许通过存储过程对外发出呼叫;
创建用于实现http请求发送的存储过程;
在数据库表上创建触发器;
响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。
2.根据权利要求1所述的方法,其特征在于,所述存储过程包括:
对调用存储过程时传递的参数校验;
响应于校验通过,创建serverxmlhttp对象;
使用serverxmlhttp对象创建到第三方平台目标地址的连接;
设置超时时间、http请求头中的媒体类型信息、http请求实体的大小;
发送拟发送的数据;
处理http请求返回的信息并返回给调用该存储过程的触发器告知http请求是否成功。
3.根据权利要求2所述的方法,其特征在于,所述存储过程还包括:
响应于http请求失败,给出失败的错误提示。
4.根据权利要求2所述的方法,其特征在于,传递的参数包括:第三方平台的地址、http请求方式、http请求的媒体类型信息、封装的拟发送数据的内容及存储过程要返回的提示。
5.根据权利要求1所述的方法,其特征在于,所述触发器还包括:在封装拟发送的数据之前还包括过滤不满足条件的数据。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于创建serverxmlhttp对象失败,返回具体的错误提示。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于创建到第三方平台目标地址的连接失败,返回具体的错误提示。
8.一种实现SQLserver数据库与第三方平台交互的***,其特征在于,所述***包括:
配置模块,用于使得SQLserver允许通过存储过程对外发出呼叫;
存储过程创建模块,用于创建用于实现http请求发送的存储过程;
触发器创建模块,用于在数据库表上创建触发器;
触发模块,用于响应于对所述数据库表中的数据进行修改,触发所述触发器,封装拟发送的数据,调用所述存储过程将http请求发送到第三方平台。
9.根据权利要求8所述的***,其特征在于,所述存储过程创建模块包括:
校验子模块,用于对调用存储过程时传递的参数校验;
第一创建子模块,用于响应于校验通过,创建serverxmlhttp对象;
第二创建子模块,用于使用serverxmlhttp对象创建到第三方平台目标地址的连接;
设置子模块,用于设置超时时间、http请求头中的媒体类型信息、http请求实体的大小;
发送子模块,用于发送拟发送的数据;
处理子模块,用于处理http请求返回的信息并返回给调用该存储过程的触发器告知http请求是否成功。
10.根据权利要求9所述的***,其特征在于,所述存储过程创建模块还包括:
错误提示子模块,用于响应于http请求失败,给出失败的错误提示。
CN201910959228.6A 2019-10-10 2019-10-10 SQLserver数据库与第三方平台交互的方法及*** Pending CN110968625A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959228.6A CN110968625A (zh) 2019-10-10 2019-10-10 SQLserver数据库与第三方平台交互的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959228.6A CN110968625A (zh) 2019-10-10 2019-10-10 SQLserver数据库与第三方平台交互的方法及***

Publications (1)

Publication Number Publication Date
CN110968625A true CN110968625A (zh) 2020-04-07

Family

ID=70029768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959228.6A Pending CN110968625A (zh) 2019-10-10 2019-10-10 SQLserver数据库与第三方平台交互的方法及***

Country Status (1)

Country Link
CN (1) CN110968625A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255967A (zh) * 2017-12-26 2018-07-06 平安科技(深圳)有限公司 存储过程的调用方法、装置、存储介质及终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255967A (zh) * 2017-12-26 2018-07-06 平安科技(深圳)有限公司 存储过程的调用方法、装置、存储介质及终端

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
夏凌云 等: ""基于存储过程和 HTTP 协议的消息主动推送***实现"", 《微型电脑应用》 *
摄念子: ""Sql server2012中触发器发送http请求"", 《HTTPS://BLOG.CSDN.NET/LONGTINGJING/ARTICLE/DETAILS/46533423》 *
申永芳: ""数据库中存储过程的研究与应用"", 《南方农机》 *
赵永霞 等: "《数据库原理与应用》", 31 July 2017, 华中科技大学出版社 *

Similar Documents

Publication Publication Date Title
US10742773B2 (en) Protocol conversion method, platform, and protocol conversion gateway
CN113568686B (zh) Lua语言的异步处理方法、装置、计算机设备和存储介质
US10693816B2 (en) Communication methods and systems, electronic devices, and computer clusters
CN111813724B (zh) Hidl接口适配***、方法及相应设备、存储介质
KR20210040304A (ko) 영상 인식 방법, 장치, 전자기기, 저장매체 및 프로그램
CN110599305A (zh) 业务处理方法、装置及存储介质
CN105656947A (zh) 一种交易中间件与第三方***交互的方法、装置和***
CN112486592A (zh) 分布式数据处理方法、装置、服务器及可读存储介质
CN111294377B (zh) 一种依赖关系的网络请求发送方法、终端装置及存储介质
CN110881224B (zh) 一种网络长连接方法、装置、设备及存储介质
CN107438097B (zh) 网络请求处理方法及装置
CN115329170A (zh) 网页抓取方法、装置、设备以及存储介质
CN112948098B (zh) 基于微服务单元架构的服务单元下线方法及相关装置
CN110968625A (zh) SQLserver数据库与第三方平台交互的方法及***
CN116561179A (zh) 数据查询方法、装置、设备及程序产品
CN110990000B (zh) Mvc模式设计模型层的数据请求处理方法、装置及设备
CN108306815A (zh) 一种获取消息的方法、装置、设备及计算机可读存储介质
CN107632893A (zh) 消息队列处理方法及装置
CN109816546A (zh) 一种基于j2ee架构的农场农事管理平台及方法
CN114925120A (zh) 保险业务信息查询方法及相关设备
CN114356713A (zh) 线程池监控方法、装置、电子设备及存储介质
CN111045787B (zh) 一种快速继续实验方法及***
US10038604B2 (en) Processing method and apparatus for signaling tracing
CN113238817A (zh) 一种接口透传方法、装置、电子设备和存储介质
US20200150904A1 (en) System and Method for Managing Content using Generic Content Management Interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200407