CN112732747A - 在目标计算机上快速执行sql方法、***、设备及介质 - Google Patents
在目标计算机上快速执行sql方法、***、设备及介质 Download PDFInfo
- Publication number
- CN112732747A CN112732747A CN202110337421.3A CN202110337421A CN112732747A CN 112732747 A CN112732747 A CN 112732747A CN 202110337421 A CN202110337421 A CN 202110337421A CN 112732747 A CN112732747 A CN 112732747A
- Authority
- CN
- China
- Prior art keywords
- sql
- execution
- target computer
- result
- database
- 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
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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种在目标计算机上快速执行SQL方法、***、设备及介质。在目标计算机上快速执行SQL方法,包括:将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;获取SQL执行工具输出的执行结果;通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。在目标计算机上快速执行SQL***,包括:分发通信模块;执行输出模块;获取结果模块;数据处理模块。本发明还进一步提供了一种在目标计算机上快速执行SQL设备及计算机可读存储介质。
Description
技术领域
本发明涉及信息技术领域,特别是涉及一种在目标计算机上快速执行SQL方法、***、设备及介质。
背景技术
SQL(Structured Query Language)是常见的用于操作关系数据库***的语言。绝大部分应用程序需要通过数据库***进行数据的存储与管理,因此,执行SQL是绝大部分应用必须具备的基础能力。目前常见的SQL执行方法是通过数据库连接驱动或各编程语言的数据库连接模块或数据库客户端等方式直接连接数据库。在一部分情况下,由于网络环境的复杂性,并非安装在数据库所在计算机上的数据库客户端等无法通过远程方式直接连接到数据库。另外,通过数据库连接驱动、数据库客户端等方式访问数据库要求预先进行安装和配置,管理上不方便。
现有技术存在的问题总结如下:
1、当前普遍的SQL执行方式在网络隔离等复杂网络环境下无法满足连接到目标数据库进行SQL执行的需求。
2、通过数据库连接驱动、数据库客户端等方式访问数据库要求预先进行安装和配置,管理复杂。
3、当前不同SQL执行方式的输出结果格式存在差异,不利于后续结果处理。
因此,为提高执行SQL的便捷性和满足复杂网络环境下的SQL执行需求,需要设计一种可以在目标计算机上快速执行SQL的方法,该方法需要具有便捷、易管理、输出结果易于处理等特点。
发明内容
基于此,本发明的目的在于,提供一种便捷、易管理、输出结果易于处理的在目标计算机上快速执行SQL方法、***、设备及介质。
第一方面,本发明提供一种在目标计算机上快速执行SQL方法,包括:
将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;
通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;
获取SQL执行工具输出的执行结果;
通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
上述技术方案在一种实施方式中,所述将SQL执行工具分发到目标计算机,包括:将编写好的数据库SQL执行工具分发到目标计算机固定目录下;
所述使SQL执行工具与目标数据库直接通信,包括:使用应用程序所使用编程语言的数据库连接模块作为连接SQL执行工具与目标数据库直接通信的方式。
上述技术方案在一种实施方式中,所述通过命令方式运行SQL执行工具,包括:通过操作***命令方式运行SQL执行工具。
上述技术方案在一种实施方式中,所述将参数传入,包括:将数据库IP、端口、账号、密码、数据库、执行SQL的一种或多种作为参数传入。
上述技术方案在一种实施方式中,所述SQL执行工具获取参数并输出执行结果,包括:SQL执行工具依次读取参数、目标数据库、执行SQL脚本信息,并将目标数据库返回的执行结果转化为JSON格式字符串后,输出到目标计算机操作***。
第二方面,本发明提供一种在目标计算机上快速执行SQL***,包括:
分发通信模块,配置用于将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;
执行输出模块,配置用于通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;
获取结果模块,配置用于获取SQL执行工具输出的执行结果;
数据处理模块,配置用于通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
第三方面,本发明还提供一种在目标计算机上快速执行SQL设备,包括:
存储器,用于存储一个或多个程序;
处理器,用于运行所述存储器中存储的所述程序,以实现如上述任一项所述的在目标计算机上快速执行SQL方法。
第四方面,本发明还提供一种计算机可读存储介质,其存储有至少一个程序,当所述程序被处理器执行时,实现如上述任一项所述的在目标计算机上快速执行SQL方法。
相对于现有技术,本发明的在目标计算机上快速执行SQL方法、***、设备及介质的有益效果:
1、本发明在目标计算机上通过SQL执行工具直接连接目标数据库进行SQL执行,避免网络隔离导致无法连接数据库。
2、本发明无需预先安装配置数据库驱动程序或数据库客户端,操作时直接运行SQL执行工具,管理便捷。
3、本发明的结果输出格式为通用的JSON(JavaScript Object Notation)格式,方便应用程序进行后续结果处理。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明的在目标计算机上快速执行SQL方法的示例性流程框图。
图2是本发明的在目标计算机上快速执行SQL***的连接框图。
具体实施方式
在本说明书中提到或者可能提到的上、下、左、右、前、后、正面、背面、顶部、底部等方位用语是相对于其构造进行定义的,它们是相对的概念。因此,有可能会根据其所处不同位置、不同使用状态而进行相应地变化。所以,也不应当将这些或者其他的方位用语解释为限制性用语。
以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
本发明基于go语言等编程语言编写SQL执行工具,可以在不同操作***类型(Windows、Linux)目标计算机上直接连接目标数据库(MySQL、Oracle)进行SQL执行,并可通过调整代码适配其他操作***类型及数据库类型。
本实施例以Linux***上MySQL数据库基于go语言的SQL执行实施方式为例,对其他操作***类型上的其他类型数据库可以依此类推。
请参阅图1,图1是本发明的在目标计算机上快速执行SQL方法的示例性流程框图。
第一方面,本发明提供一种在目标计算机上快速执行SQL方法,包括:
S1.将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信。
具体地,上述S1中,所述将SQL执行工具分发到目标计算机,包括:将编写好的数据库SQL执行工具(mysql_collect)分发到目标计算机固定目录下,如/usr/local/sqltool。
所述使SQL执行工具与目标数据库直接通信,包括:使用应用程序所使用编程语言的数据库连接模块作为连接SQL执行工具与目标数据库直接通信的方式。
例如,可以通过database/sql以及github.com/go-sql-driver/mysql两个模块作为连接SQL执行工具与目标数据库直接通信的方式。
S2.通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果。
上述S2中,所述通过命令方式运行SQL执行工具,包括:通过操作***命令方式运行SQL执行工具。比如,通过linux的shell命令执行。
进一步,所述通过操作***命令方式运行SQL执行工具,包括:通过database/sql模块的sql.Open()以及db.Query()方法执行SQL执行工具。
在一些实施方式中,所述将参数传入,包括:将数据库IP、端口、账号、密码、数据库、执行SQL的一种或多种作为参数传入。
比如:/usr/local/sqltool/mysql_collect 127.0.0.1 3306 root 1qaz@WSXtestdb “select * from testdb.table1。
在一些实施方式中,所述SQL执行工具获取参数并输出执行结果,包括:SQL执行工具依次读取参数、目标数据库、执行SQL脚本信息,并将目标数据库返回的执行结果转化为JSON(JavaScript Object Notation)格式字符串后,输出到目标计算机操作***。
进一步,所述SQL执行工具获取参数,包括:在linux***上进行go语言编程,通过os.Args[]获取传入的参数。
所述输出执行结果,包括:通过json.Marshal()将执行结果转化为JSON格式字符串,通过fmt.Println()方法输出JSON格式字符串。
S3.获取SQL执行工具输出的执行结果。
比如:{"0":[{"id":"1","name":"ttt"},{"id":"10","name":"k"}]}。
S4.根据实际需要处理数据。
其具体可以包括:通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
请参阅图2,图2是本发明的在目标计算机上快速执行SQL***的连接框图。
第二方面,本发明提供一种在目标计算机上快速执行SQL***,包括:
分发通信模块,配置用于将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;
执行输出模块,配置用于通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;
获取结果模块,配置用于获取SQL执行工具输出的执行结果;
数据处理模块,配置用于通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
第三方面,本发明还提供一种在目标计算机上快速执行SQL设备,包括:
存储器,用于存储一个或多个程序;
处理器,用于运行所述存储器中存储的所述程序,以实现如上述所述的在目标计算机上快速执行SQL方法。
所述设备还可以优选地包括通信接口,所述通信接口用于与外部设备进行通信和数据交互传输。
需要说明的是,所述存储器可能包含高速RAM存储器,也可能还包括非易失性存储器 (nonvolatile memory),例如至少一个磁盘存储器。
在具体实现上,如果存储器、处理器及通信接口集成在一块芯片上,则存储器、处理器及通信接口可以通过内部接口完成相互间的通信。如果存储器、处理器和通信接口独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。
第四方面,本发明还提供一种计算机可读存储介质,其存储有至少一个程序,当所述程序被处理器执行时,实现如上述所述的在目标计算机上快速执行SQL方法。
应当理解,所述计算机可读存储介质为可存储数据或程序的任何数据存储设备,所述数据或程序其后可由计算机***读取。计算机可读存储介质的示例包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备等。计算机可读存储介质还可分布在网络耦接的计算机***中使得计算机可读代码以分布式方式来存储和执行。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。
在一些实施方案中,计算机可读存储介质可以是非暂态的。
相对于现有技术,本发明的在目标计算机上快速执行SQL方法、***、设备及介质的有益效果:
1、本发明在目标计算机上通过SQL执行工具直接连接目标数据库进行SQL执行,避免网络隔离导致无法连接数据库。
2、本发明无需预先安装配置数据库驱动程序或数据库客户端,操作时直接运行SQL执行工具,管理便捷。
3、本发明的结果输出格式为通用的JSON(JavaScript Object Notation)格式,方便应用程序进行后续结果处理。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (8)
1.一种在目标计算机上快速执行SQL方法,其特征在于,包括:
将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;
通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;
获取SQL执行工具输出的执行结果;
通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
2.根据权利要求1所述的在目标计算机上快速执行SQL方法,其特征在于,所述将SQL执行工具分发到目标计算机,包括:将编写好的数据库SQL执行工具分发到目标计算机固定目录下;
所述使SQL执行工具与目标数据库直接通信,包括:使用应用程序所使用编程语言的数据库连接模块作为连接SQL执行工具与目标数据库直接通信的方式。
3.根据权利要求2所述的在目标计算机上快速执行SQL方法,其特征在于,所述通过命令方式运行SQL执行工具,包括:通过操作***命令方式运行SQL执行工具。
4.根据权利要求3所述的在目标计算机上快速执行SQL方法,其特征在于,所述将参数传入,包括:将数据库IP、端口、账号、密码、数据库、执行SQL的一种或多种作为参数传入。
5.根据权利要求4所述的在目标计算机上快速执行SQL方法,其特征在于,所述SQL执行工具获取参数并输出执行结果,包括:SQL执行工具依次读取参数、目标数据库、执行SQL脚本信息,并将目标数据库返回的执行结果转化为JSON格式字符串后,输出到目标计算机操作***。
6.一种在目标计算机上快速执行SQL***,其特征在于,包括:
分发通信模块,配置用于将SQL执行工具分发到目标计算机,使SQL执行工具与目标数据库直接通信;
执行输出模块,配置用于通过命令方式运行SQL执行工具,并将参数传入,SQL执行工具获取参数并输出执行结果;
获取结果模块,配置用于获取SQL执行工具输出的执行结果;
数据处理模块,配置用于通过应用程序所使用编程语言的JSON解析模块对结果进行处理,并输出到页面上。
7.一种在目标计算机上快速执行SQL设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器,用于运行所述存储器中存储的所述程序,以实现如权利要求1-5任一项所述的在目标计算机上快速执行SQL方法。
8.一种计算机可读存储介质,其存储有至少一个程序,其特征在于,当所述程序被处理器执行时,实现如权利要求1-5任一项所述的在目标计算机上快速执行SQL方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110337421.3A CN112732747A (zh) | 2021-03-30 | 2021-03-30 | 在目标计算机上快速执行sql方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110337421.3A CN112732747A (zh) | 2021-03-30 | 2021-03-30 | 在目标计算机上快速执行sql方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732747A true CN112732747A (zh) | 2021-04-30 |
Family
ID=75597102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110337421.3A Pending CN112732747A (zh) | 2021-03-30 | 2021-03-30 | 在目标计算机上快速执行sql方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732747A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238656A1 (en) * | 2012-03-12 | 2013-09-12 | Qiming Chen | Page feed for efficient dataflow between distributed query engines |
CN108664236A (zh) * | 2018-05-08 | 2018-10-16 | 山东浪潮通软信息科技有限公司 | 一种基于Excel的自动转换执行参数化SQL的实现方法 |
CN110399125A (zh) * | 2019-07-25 | 2019-11-01 | 南京数睿数据科技有限公司 | 一种基于Java技术的多维度多条件的动态查询方法 |
US10579627B2 (en) * | 2016-01-08 | 2020-03-03 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
CN110908840A (zh) * | 2019-12-02 | 2020-03-24 | 杭州安恒信息技术股份有限公司 | 一种还原bak备份文件的方法、装置、设备及存储介质 |
CN111381860A (zh) * | 2020-04-02 | 2020-07-07 | 众能联合数字技术有限公司 | 数据库sql脚本快速维护框架及方法 |
CN111782993A (zh) * | 2019-07-23 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 页面显示方法、装置及服务器 |
CN112395307A (zh) * | 2019-08-16 | 2021-02-23 | 华为技术有限公司 | 执行语句的方法、装置、服务器及存储介质 |
-
2021
- 2021-03-30 CN CN202110337421.3A patent/CN112732747A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130238656A1 (en) * | 2012-03-12 | 2013-09-12 | Qiming Chen | Page feed for efficient dataflow between distributed query engines |
US10579627B2 (en) * | 2016-01-08 | 2020-03-03 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
CN108664236A (zh) * | 2018-05-08 | 2018-10-16 | 山东浪潮通软信息科技有限公司 | 一种基于Excel的自动转换执行参数化SQL的实现方法 |
CN111782993A (zh) * | 2019-07-23 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 页面显示方法、装置及服务器 |
CN110399125A (zh) * | 2019-07-25 | 2019-11-01 | 南京数睿数据科技有限公司 | 一种基于Java技术的多维度多条件的动态查询方法 |
CN112395307A (zh) * | 2019-08-16 | 2021-02-23 | 华为技术有限公司 | 执行语句的方法、装置、服务器及存储介质 |
CN110908840A (zh) * | 2019-12-02 | 2020-03-24 | 杭州安恒信息技术股份有限公司 | 一种还原bak备份文件的方法、装置、设备及存储介质 |
CN111381860A (zh) * | 2020-04-02 | 2020-07-07 | 众能联合数字技术有限公司 | 数据库sql脚本快速维护框架及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190379733A1 (en) | Method and device for managing data in internet of things, computer device and readable medium | |
US11561972B2 (en) | Query conversion for querying disparate data sources | |
CN111259036A (zh) | 一种跨库跨表查询方法、设备、服务器及存储介质 | |
US20140237463A1 (en) | Dynamically generate and execute a context-specific patch installation procedure on a computing system | |
CN111414643B (zh) | 数据权限控制方法、装置、服务器及存储介质 | |
CN111491012B (zh) | SaaS多租户数据隔离访问方法、装置、电子设备及存储介质 | |
US20230185781A1 (en) | System and method for data warehouse migration | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20180307692A1 (en) | Software application interface for mediating access to services of a centralized data store | |
CN113254519B (zh) | 多源异构数据库的访问方法、装置、设备和存储介质 | |
CN111694866A (zh) | 数据搜索及存储方法、数据搜索***、装置、设备及介质 | |
CN113467972A (zh) | 通信接口构造方法、装置以及计算机设备、存储介质 | |
EP2804361A1 (en) | Integrated interface system for power-system monitoring and control system | |
CN111159265B (zh) | 一种etl数据迁移方法和*** | |
CN112732747A (zh) | 在目标计算机上快速执行sql方法、***、设备及介质 | |
CN113761016A (zh) | 数据查询方法、装置、设备及存储介质 | |
US20190327342A1 (en) | Methods and electronic devices for data transmission and reception | |
US9885787B2 (en) | Electronic satellite feed switcher | |
CN111949648A (zh) | 内存缓存数据***和数据索引方法 | |
CN109241164A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN109471792A (zh) | 测试控制方法及装置、电子设备、介质 | |
KR101632389B1 (ko) | IoT 가상 파일 체계를 이용한 IoT 분석시스템 | |
WO2021203343A1 (zh) | Web请求处理方法和装置 | |
CN110716915A (zh) | 操作数据库的方法、装置、电子设备及存储介质 | |
CN112182083A (zh) | 文件生成方法、装置、设备及存储介质 |
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 |
Application publication date: 20210430 |
|
RJ01 | Rejection of invention patent application after publication |