會SQL語句,就能快速開放你的SQL Server數(shù)據(jù)接口(sql數(shù)據(jù)庫開放端口)
如何快速開發(fā)和對外開放SQL Server數(shù)據(jù)接口?
SQL Server 是Microsoft 公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。如果原來的系統(tǒng)和數(shù)據(jù)庫,使用了SQL Server,當(dāng)需要對外提供和開放新的數(shù)據(jù)接口時,可以使用 接口大師 接口低代碼開發(fā)你的數(shù)據(jù)API接口。即會SQL語句,就能快速開放你的SQL Server數(shù)據(jù)接口。
本地安裝
接口大師,可以安裝在本地服務(wù)器,支持可視化安裝。
成功安裝后,可以訪問首頁。
隨后,登錄管理后臺,使用剛才在安裝時自己填寫的管理員賬號和密碼。
成功登錄管理后臺,即可進(jìn)入后臺對API接口、SQL Server數(shù)據(jù)庫、開發(fā)者賬號和流量進(jìn)行管理。
管理后臺的首頁效果,
配置和連接你的SQL Server數(shù)據(jù)庫
在管理后臺,進(jìn)入【數(shù)據(jù)庫管理】-【數(shù)據(jù)庫配置管理】,可以查看已經(jīng)配置的數(shù)據(jù)庫列表,除了支持微軟的SQL Server,還支持MySQL等開源數(shù)據(jù)庫。
點(diǎn)擊【添加新數(shù)據(jù)庫配置】,數(shù)據(jù)庫類型選擇【SQL Server】,根據(jù)表單配置,填寫數(shù)據(jù)庫的其他連接信息。例如:數(shù)據(jù)庫地址/IP地址、數(shù)據(jù)庫端口 1433、數(shù)據(jù)庫賬號、數(shù)據(jù)庫密碼、數(shù)據(jù)庫名、數(shù)據(jù)庫編碼 等。
例如,使用Navicat客戶端,可以連接上你的SQL Server數(shù)據(jù)進(jìn)行管理。
在Linux命令行終端,則可以使用sqlcmd命令進(jìn)行數(shù)據(jù)庫的連接和sql語句操作。
$ sqlcmd -S 120.77.148.122 -U SA -pPassword: 1> use master;2> goChanged database context to 'master'.
回到接口大師的數(shù)據(jù)庫配置管理,填寫并保存后,可以測試你的SQL Server數(shù)據(jù)庫連接。如果連接失敗,請核對數(shù)據(jù)庫地址、賬號密碼和端口是否開放了安全訪問。
測試成功后,保存配置。
SQL Server數(shù)據(jù)庫的表統(tǒng)計和實(shí)時進(jìn)程
配置好你的SQL Server數(shù)據(jù)庫后,可以通過查看數(shù)據(jù)庫的統(tǒng)計和實(shí)時進(jìn)程來核對數(shù)據(jù)庫是否連接正常。
查看SQL Server數(shù)據(jù)庫表的大小和索引大小統(tǒng)計,
SQL Server的實(shí)時進(jìn)程,
SQL Server低代碼數(shù)據(jù)API接口開發(fā)
接下來,介紹如何使用接口大師,結(jié)合編寫SQL Server的SQL語句,快速開發(fā)你的API數(shù)據(jù)接口。
進(jìn)入【API接口管理】-【低代碼接口開發(fā)】-【接口開發(fā)列表】,可以管理你已經(jīng)編寫和發(fā)布的API接口。
點(diǎn)擊【新接口】,進(jìn)入接口編輯器。
依次選擇:【接口設(shè)計類型為:生成數(shù)據(jù)庫表接口API】-【數(shù)據(jù)庫:選擇剛才你配置的SQL Server數(shù)據(jù)庫】-【數(shù)據(jù)庫:選擇你需要對外開放的表】。
如果數(shù)據(jù)庫表未存在,可以進(jìn)行添加表操作。接口大師會提供輔助創(chuàng)建新表的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'創(chuàng)建時間', 'SCHEMA', 'dbo', 'TABLE', 'test', 'COLUMN', 'add_time';-- EXEC sp_addextendedproperty 'MS_Description', N'更新時間', 'SCHEMA', 'dbo', 'TABLE', 'test', 'COLUMN', 'update_time';
緊接著,繼續(xù)配置填寫你的接口名稱、接口參數(shù)、接口功能描述等。
填寫好接口的信息后,點(diǎn)擊【生成代碼】,系統(tǒng)會根據(jù)你填寫的接口信息,自動生成接口PHP源代碼。
在生成的接口代碼中,找到需要調(diào)整的SQL Server數(shù)據(jù)庫查詢語句。
如,
// 根據(jù)SQL查詢數(shù)據(jù)庫,需要帶表前綴 // 更多數(shù)據(jù)庫操作請見:http://docs.phalapi.net/#/v2.0/database-usage $sql = 'SELECT * FROM demo_test WHERE [name] = :name AND [id] = :id';
把上面的SQL修改成你需要查詢和提供的SQL語句,接口參數(shù),可以使用前面配置好的接口參數(shù),然后調(diào)整你的select查詢字段、order排序規(guī)則、返回條數(shù)等。
最后,【保存并發(fā)布】。
查看和調(diào)用SQL Server前臺數(shù)據(jù)API接口
在管理后臺發(fā)布接口后,可以在管理后臺查看【接口文檔】,或直接到前臺查看【OpenAPI】,即可查看剛才發(fā)布成功的新接口。
除了自己編寫的SQL接口外,還會配套生成默認(rèn)的CURD增刪改查數(shù)據(jù)接口。
例如,當(dāng)前有數(shù)據(jù)庫表 demo_test,表結(jié)構(gòu)如下:
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID('[dbo].[demo_test]') AND type IN ('U')) DROP TABLE [dbo].[demo_test]GOCREATE 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]GOEXEC sp_addextendedproperty 'MS_Description', N'創(chuàng)建時間', 'SCHEMA', 'dbo', 'TABLE', 'demo_test', 'COLUMN', 'add_time'GOEXEC sp_addextendedproperty 'MS_Description', N'更新時間', 'SCHEMA', 'dbo', 'TABLE', 'demo_test', 'COLUMN', 'update_time'GO
現(xiàn)有表數(shù)據(jù)如下,
先來調(diào)用API接口創(chuàng)建添加一條新數(shù)據(jù),進(jìn)入【接口大師 / OpenAPI / 創(chuàng)建新數(shù)據(jù)】,查看一下接口的基本信息。
測試數(shù)據(jù)添加,
查看數(shù)據(jù)庫是否寫入成功。
再來調(diào)用自己編寫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接口請求日志、參數(shù)和流量統(tǒng)計
進(jìn)入管理后臺的【API接口管理】-【接口監(jiān)控】-【接口訪問日記】,可以查看API接口被調(diào)用的詳細(xì)日記和接口請求參數(shù)。
在【每日接口統(tǒng)計】,可以看到接口的匯總統(tǒng)計。
可以同時查看接口的請求次數(shù),和接口的響應(yīng)時間性能指標(biāo)。
分配SQL Server數(shù)據(jù)接口權(quán)限
最后,當(dāng)你需要開放和提供數(shù)據(jù)接口給外部使用時,需要先創(chuàng)建一個開發(fā)者賬號。
并為這個開發(fā)者賬號綁定一個應(yīng)用,
分配需要的接口權(quán)限,
登錄開放平臺和調(diào)用數(shù)據(jù)API
作為使用接口的開發(fā)者,可以登錄開放平臺,
查看已申請的應(yīng)用和已獲得權(quán)限的接口,
根據(jù)接口文檔,對接和使用API接口。