百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

会SQL语句,就能快速开放你的SQL Server数据接口

nanshan 2025-01-11 15:49 15 浏览 0 评论

如何快速开发和对外开放SQL Server数据接口?

SQL Server 是Microsoft 公司推出的关系型数据库管理系统。如果原来的系统和数据库,使用了SQL Server,当需要对外提供和开放新的数据接口时,可以使用 接口大师 接口低代码开发你的数据API接口。即会SQL语句,就能快速开放你的SQL Server数据接口。

本地安装

接口大师,可以安装在本地服务器,支持可视化安装。

成功安装后,可以访问首页。

随后,登录管理后台,使用刚才在安装时自己填写的管理员账号和密码。

成功登录管理后台,即可进入后台对API接口、SQL Server数据库、开发者账号和流量进行管理。

管理后台的首页效果,

配置和连接你的SQL Server数据库

在管理后台,进入【数据库管理】-【数据库配置管理】,可以查看已经配置的数据库列表,除了支持微软的SQL Server,还支持MySQL等开源数据库。

点击【添加新数据库配置】,数据库类型选择【SQL Server】,根据表单配置,填写数据库的其他连接信息。例如:数据库地址/IP地址、数据库端口 1433、数据库账号、数据库密码、数据库名、数据库编码 等。

例如,使用Navicat客户端,可以连接上你的SQL Server数据进行管理。

在Linux命令行终端,则可以使用sqlcmd命令进行数据库的连接和sql语句操作。

$ sqlcmd -S 120.77.148.122 -U SA -p
Password: 
1> use master;
2> go
Changed database context to 'master'.

回到接口大师的数据库配置管理,填写并保存后,可以测试你的SQL Server数据库连接。如果连接失败,请核对数据库地址、账号密码和端口是否开放了安全访问。

测试成功后,保存配置。

SQL Server数据库的表统计和实时进程

配置好你的SQL Server数据库后,可以通过查看数据库的统计和实时进程来核对数据库是否连接正常。

查看SQL Server数据库表的大小和索引大小统计,

SQL Server的实时进程,

SQL Server低代码数据API接口开发

接下来,介绍如何使用接口大师,结合编写SQL Server的SQL语句,快速开发你的API数据接口。

进入【API接口管理】-【低代码接口开发】-【接口开发列表】,可以管理你已经编写和发布的API接口。

点击【新接口】,进入接口编辑器。

依次选择:【接口设计类型为:生成数据库表接口API】-【数据库:选择刚才你配置的SQL Server数据库】-【数据库:选择你需要对外开放的表】。

如果数据库表未存在,可以进行添加表操作。接口大师会提供辅助创建新表的SQL语句。

CREATE TABLE [dbo].[test] (
    [id] int not null identity(1,1) primary key,
    
    [uid] int NULL DEFAULT ((0)),
    [app_key] varchar(100) default '' not null,
    [add_time] datetime2 NULL,
    [update_time] datetime2 NULL
)
ON [PRIMARY];
-- EXEC sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'test', 'COLUMN', 'add_time';
-- EXEC sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'test', 'COLUMN', 'update_time';

紧接着,继续配置填写你的接口名称、接口参数、接口功能描述等。

填写好接口的信息后,点击【生成代码】,系统会根据你填写的接口信息,自动生成接口PHP源代码。

在生成的接口代码中,找到需要调整的SQL Server数据库查询语句。

如,

        // 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM demo_test WHERE [name] = :name AND [id] = :id';

把上面的SQL修改成你需要查询和提供的SQL语句,接口参数,可以使用前面配置好的接口参数,然后调整你的select查询字段、order排序规则、返回条数等。

最后,【保存并发布】。

查看和调用SQL Server前台数据API接口

在管理后台发布接口后,可以在管理后台查看【接口文档】,或直接到前台查看【OpenAPI】,即可查看刚才发布成功的新接口。

除了自己编写的SQL接口外,还会配套生成默认的CURD增删改查数据接口。

例如,当前有数据库表 demo_test,表结构如下:

IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID('[dbo].[demo_test]') AND type IN ('U'))
	DROP TABLE [dbo].[demo_test]
GO
CREATE TABLE [dbo].[demo_test] (
	[id] int NOT NULL,
	[name] varchar(100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
	[add_time] datetime2(0) NULL,
	[update_time] datetime2(0) NULL,
	[uid] int NULL DEFAULT ((0))
)
ON [PRIMARY]
GO
EXEC sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'demo_test', 'COLUMN', 'add_time'
GO
EXEC sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'demo_test', 'COLUMN', 'update_time'
GO

现有表数据如下,

先来调用API接口创建添加一条新数据,进入【接口大师 / OpenAPI / 创建新数据】,查看一下接口的基本信息。

测试数据添加,

查看数据库是否写入成功。

再来调用自己编写SQL语句的API接口。

使用Postman客户端请求接口的效果是,

使用curl方式请求接口,效果如下,

$ curl "http://pro-test.api.yesapi.cn/api/app.php?s=App.SQLServer0915.ActionName&id=1&name=xxxx"

{"ret":200,"data":{"rows":[{"id":"1","name":"xxxx","add_time":"2022-09-15 16:36:49","update_time":"2022-09-15 16:36:54","uid":"3"}]},"msg":""}

查看API接口请求日志、参数和流量统计

进入管理后台的【API接口管理】-【接口监控】-【接口访问日记】,可以查看API接口被调用的详细日记和接口请求参数。

在【每日接口统计】,可以看到接口的汇总统计。

可以同时查看接口的请求次数,和接口的响应时间性能指标。

分配SQL Server数据接口权限

最后,当你需要开放和提供数据接口给外部使用时,需要先创建一个开发者账号。

并为这个开发者账号绑定一个应用,

分配需要的接口权限,

登录开放平台和调用数据API

作为使用接口的开发者,可以登录开放平台,

查看已申请的应用和已获得权限的接口,

根据接口文档,对接和使用API接口。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: