使用Excel作为前端,Azure作为后端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Excel作为前端,Azure作为后端相关的知识,希望对你有一定的参考价值。

我在Azure上有一个SQL数据库,可以从Excel文件中成功连接到该数据库。我正在使用ADO,并且连接字符串使用我自己的用户名和密码。由于此文件将被许多用户使用,因此如何创建通用的登录名和密码,这样我就不会在代码中给出自己的用户名和密码了? Excel文件运行许多VBA宏以与Azure SQL数据库进行通信。

我正在使用Excel 2010(是的,它很旧了,我必须这样做),这是我的连接字符串:

mstrConnectionString = "Driver=SQL Server Native Client 11.0;" & _
                        "Server=tcp:<servername>.database.windows.net,1433;" & _
                        "Database=<databasename>;" & _
                        "Uid=<myusername>@<servername>;" & _
                        "Pwd=MyPassword;" & _
                        "Encrypt=yes;Connection Timeout=30;"
答案

您可以创建“数据库登录”对话框,以通过使用文本框,按钮或其他对话框控件来提示用户输入数据库连接信息。通常,当您在文本框中键入文本时,文本将在您键入时显示。但是,您可以使用Microsoft Visual Basic应用程序(VBA)版用户窗体的属性来创建隐藏或“蒙版”文本框的效果,以创建密码对话框,在该对话框中您不需要键入的文本在文本框中显示为“可见”。 Here,您将找到方法。

用户在“数据库登录”上键入的信息可用于构建您在上面发布的连接字符串。

要在Excel中创建自定义对话框,请遵循this说明。

另一答案

根据您的评论,我认为您可以创建一个仅对您的Azure SQL数据库具有只读权限的新登录名/用户。

然后您使用此用户和密码作为公共帐户,以从Excel中的Azure SQL数据库获取数据。

这是示例T-SQL语句,此代码是在Azure SQL数据库中创建一个新的登录名和一个只读用户。您可以在SSMS中运行此查询:

--running in master db
USE [master]
GO
CREATE LOGIN [sagarreadonly] WITH PASSWORD='password'
GO
-- running in Azure SQL DB
USE [DataEncryptDemo]
GO
CREATE USER [sagarreadonly] FOR LOGIN [sagarreadonly] WITH DEFAULT_SCHEMA = Marketing; 
GO
EXEC sp_addrolemember 'db_datareader', 'sagarreadonly';
GO

有关数据库角色的更多详细信息,请参见Database-Level Roles

希望这会有所帮助。

以上是关于使用Excel作为前端,Azure作为后端的主要内容,如果未能解决你的问题,请参考以下文章

Django REST API 作为后端,ReactJS 作为前端集成

使用 Excel 作为 Access 数据库的前端(使用 VBA)

使用 Grails 和 Spring Security 作为后端时的 Angular 前端身份验证

如何正确配置 Next.js 作为前端和 Express 应用作为后端?

使用laravel作为后端API和AngularJS作为前端的实时通知

ajax 文件下载