Использование Excel в качестве внешнего интерфейса, Azure в качестве внутреннего - PullRequest
0 голосов
/ 17 октября 2019

У меня есть база данных SQL в Azure, к которой я могу успешно подключиться из файла Excel. Я использую ADO, а строка подключения использует мое собственное имя пользователя и пароль. Поскольку этот файл будет использоваться многими пользователями, как я могу создать общий логин и пароль, чтобы я не выдавал свое имя пользователя и пароль в коде? Файл Excel запускает много макросов VBA для связи с базой данных SQL Azure.

Я использую 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;"

Ответы [ 2 ]

1 голос
/ 17 октября 2019

Согласно вашему комментарию, у меня есть идея, что вы можете создать новый логин / пользователя для своей базы данных SQL Azure.

Затем вы используете этого пользователя и пароль в качестве публичной учетной записи для получения или записи данных из вашего Azure. База данных SQL в Excel.

Вот пример оператора T-SQL, этот код создает новый логин и пользователя в базе данных SQL Azure. Вы можете выполнить этот запрос в 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_owner', 'sagarreadonly';
GO

Новый пользователь создан как 'db_owner' для указанной базы данных.

Для получения дополнительной информации о ролях базы данных см. База данных-Уровень роли .

О логине и пользователе:

  • Логин используется для аутентификации пользователя
  • Учетная запись пользователя базы данных используется для доступа к базе данных ипроверка прав доступа.

Логины связаны с пользователями по идентификатору безопасности (SID). Для доступа к серверу SQL Server требуется логин. Процесс проверки правильности определенного имени входа называется «аутентификацией». Этот логин должен быть связан с пользователем базы данных SQL Server. Вы используете учетную запись пользователя для контроля действий, выполняемых в базе данных. Если в базе данных нет учетной записи пользователя для определенного имени входа, пользователь, использующий это имя входа, не может получить доступ к базе данных, даже если пользователь может подключиться к SQL Server.

Имя входа - это идентификатор, используемый дляподключиться к экземпляру SQL Server. Пользователь позволяет вам войти в базу данных SQL Server и сопоставлен с именем входа. Поэтому вам необходимо сначала создать имя входа, прежде чем вы сможете создать пользователя в SQL Server.

Надеюсь, это поможет.

0 голосов
/ 17 октября 2019

Вы можете создать диалоговое окно «Вход в базу данных», чтобы запрашивать у пользователя информацию о подключении к базе данных, используя текстовые поля, кнопки или другие элементы управления диалогового окна. Обычно при вводе текста в текстовом поле текст отображается по мере ввода. Однако вы можете использовать свойство пользовательской формы Microsoft Visual Basic для приложений (VBA) Edition, чтобы создать эффект скрытого или «замаскированного» текстового поля для создания диалогового окна пароля, где вы не хотите вводить текств текстовом поле, чтобы быть «видимым». Здесь вы найдете, как это сделать.

Информация, которую пользователь вводит в поле «Вход в базу данных», может использоваться для построения строки подключения, которую вы разместили выше.

Чтобы создать собственный диалог в Excel, следуйте инструкциям .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...