2016-12-08 9 views
1

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

Есть ли способ включить мою аутентификацию в книгу, чтобы соединение все еще работало?

Спасибо!

+0

Какую базу данных вы используете? Что вы имеете в виду с лицензиями SQL? – pvoosten

+0

Компания, в которой я работаю, использует Microsoft SQL Server, и у нас ограниченное количество лицензий. Каждая лицензия стоит денег, поэтому компания пытается ограничить, кто ее получает. Поэтому, если компания определяет, что у человека нет достаточной потребности в лицензии, им не предоставляются учетные данные для доступа к базе данных, поэтому я пытаюсь обойти эту меру, чтобы я мог создавать полезные инструменты для своих внутренних клиентов , – reggie86

ответ

1

Вы должны создать только одно соединение с базой данных, но разрешить нескольким листам Excel обращаться к нему одновременно.

Для этого создайте программу или службу, которые могут обращаться к базе данных, в то время как она обслуживает запросы от Excel (или других клиентов).

Если вы хотите использовать технологию Windows, вы должны изучить технологии, такие как WCF или REST (ASP.NET, Owin, ...). Вы также можете создавать службы, используя другие платформы, например, Java.

+0

Спасибо за предложения - я посмотрю на них. – reggie86

0

Просто создайте строку соединения на SQL Server и включите ее в лист Excel, если пользователь подключен к локальному домену, он должен иметь возможность использовать лист excel. Что-то вроде: в вашей установки листа

ConnectionString= 
Provider=SQLOLEDB;Data Source=YourSQLServerName;Initial Catalog=YourDatabase;Integrated Security=SSPI;Trusted_Connection=Yes; 

и VBA

Set wsSettings = ThisWorkbook.Sheets("Settings") 
Application.DisplayStatusBar = True 
    Application.StatusBar = "Contacting SQL Server..." 

    Dim conn As ADODB.Connection, rs As ADODB.Recordset 
    Set conn = New ADODB.Connection 
    conn.Open wsSettings.Range("ConnectionString").value 

Вам не нужна лицензия для подключения к SQL Server на том же domain.EG более миллиарда людей используют Facebook и Facebook DB хранит профиль пользователя, но пользователям не нужно платить за использование Facebook DB, пользователи подключаются к БД, а Facebook платит за лицензию на использование БД. Ваша компания заплатила лицензию, поэтому любое количество людей может подключаться и получать данные, но не может установить БД на свою машину без лицензии.

Смежные вопросы