CN110968625A - SQLserver数据库与第三方平台交互的方法及*** - Google Patents
SQLserver数据库与第三方平台交互的方法及*** Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000003993 interaction Effects 0.000 title claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 38
- 230000004048 modification Effects 0.000 claims abstract description 7
- 238000012986 modification Methods 0.000 claims abstract description 7
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 230000001960 triggered effect Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols 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允许通过存储过程对外发出呼叫;
创建用于实现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请求失败,给出失败的错误提示。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255967A (zh) * | 2017-12-26 | 2018-07-06 | 平安科技(深圳)有限公司 | 存储过程的调用方法、装置、存储介质及终端 |
-
2019
- 2019-10-10 CN CN201910959228.6A patent/CN110968625A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255967A (zh) * | 2017-12-26 | 2018-07-06 | 平安科技(深圳)有限公司 | 存储过程的调用方法、装置、存储介质及终端 |
Non-Patent Citations (4)
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 |