Подключение к SQL Azure, содержащему серверную часть для веб-приложения MS Access

Ok не уверен, что ввести в строку темы, поэтому извиняюсь, если это неясно.

Я создал простое веб-приложение с помощью MS Access 2013. В нем просто была одна таблица с образцами данных. Я запустил его в свою точку обмена. Прежде чем мы продолжим, я хотел бы сказать вам, что я использую версию Office 365 enterprise, где нам нужно администрировать все, как Lync/SharePoint/Exchange и т. д.

Так согласно блогам и статьям и обсуждениям Майкрософт повсюду, и даже на следующем снимке экрана показано, что данные, хранящиеся в Office 365, хранятся в базе данных SQL Azure для office 2013 web app.

What next

таким образом, на следующем шаге инструкции по интернету говорят, что если мы выберем "из любого места" и включим "чтение записи", это должно позволить вам получить доступ к данным из любого окна, такого как окно управления SQL Server.

The Data Connectivity options

хорошо, мои учетные данные выглядят так это:

Credentials: Oscillate Infotech Pvt Ltd DB

теперь, когда я иду в SQL Server Management Studio и использую вышеуказанные учетные данные и пытаюсь войти в систему, я получаю следующую ошибку:

Oscillate Infotech Pvt Ltd: Error

Я предполагаю, что на нашей странице администратора мне нужно изменить некоторые настройки, которые могут позволить мне подключиться. Любой помочь? Я думаю, что это кажется довольно прямым, чтобы подключить его, но он не подключается.

помочь?

мы должны исправить что-нибудь вроде BCS? Пожалуйста помочь.

Edit: у меня уже есть два downvotes поэтому обратите внимание, что я пробовал читать более 50 различных веб-страниц, обсуждающих это, и ни один из них не сказал, что это может быть проблемой вообще. Какое бы решение они ни предложили, я попробовал. Почему downvote без комментариев? Для развлечения, да?

спасибо, Vikas B

7 ответов


в диалоговом окне подключение сервера в среде SQL Server Management Studio выберите Параметры и вставьте имя базы данных, которую требуется подключить


Я добавляю этот ответ подробно, потому что это было действительно что-то очень простое, но очень трудно найти. Так что это может помочь другим.

при работе с веб-приложениями Access данные хранятся на сервере SQL Azure, так как нет подписки SQL Azure вместе с подпиской Office 365.

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

пожалуйста, смотрите следующий скриншот,

Enter Database Name

вам нужно будет ввести имя базы данных здесь, Если вы этого не сделаете, то правило брандмауэра войдет в картину, и ваш запрос будет отклонен.

простой, но сильный.

Спасибо, ребята, чтобы помочь мне решить эту проблему.

EDIT: если вы все еще не можете подключиться, убедитесь, что у вас есть последняя ODBC драйвер для подключения к SQL Server 2012. Вы можете скачать с Microsoft здесь:

Microsoft Link для загрузки драйвера ODBC

спасибо, Викас!--1-->


вы подключаетесь к Azure DB

здесь, кажется, есть серьезное разъединение. Ваша БД находится на сервере под window.net. *вы вошли на портал SQL Azure, как говорится в инструкциях? *

как настроить базу данных Azure?

смотрите это видео:http://www.windowsazure.com/en-us/manage/services/sql-databases/

Как подключиться с помощью SSMS

на этой странице: http://www.windowsazure.com/en-us/manage/services/sql-databases/how-to-manage-a-sqldb/ говорит вам точно, что вам нужно сделать (что именно то, что ваше сообщение об ошибке говорит вам)


Шаг 2: Подключение к базе данных SQL

для подключения к базе данных SQL необходимо знать имя сервера на Windows Azure. Вам может понадобиться войти в портал, чтобы получить это информация.

войти в Портал Управления Windows Azure.

в левой панели, щелкните по базам данных SQL.

на домашней странице базы данных SQL щелкните серверы в верхней части страницы список всех серверов, связанных с подпиской. Найти имя сервера, к которому вы хотите подключиться и скопировать его в буфер.

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

на домашней странице базы данных SQL щелкните серверы и выберите сервер для который вы хотите подключить.

нажмите Настроить в верхней части страницы.

скопируйте IP-адрес в текущий IP-адрес клиента.

на странице настройка разрешенные IP-адреса включают три поля, где вы можете задать имя правила и диапазон IP-адресов, начиная и конечные ценности. Для имени правила, вы введите имя вашего компьютер. Для начального и конечного диапазона вставьте IP-адрес компьютер в оба поля, а затем установите флажок, который появляется.

имя правила должно быть уникальным. Если это ваш компьютер разработки, вы можете ввести IP-адрес и IP-диапазона коробки и IP конец диапазона. В противном случае, вам может потребоваться ввести более широкий спектр IP-адреса для подключения дополнительных компьютеров в ваш организация.

Нажмите кнопку Сохранить в нижней части страницы.

Примечание: может быть до пяти минут задержки для изменения параметры брандмауэра вступают в силу.

теперь вы готовы подключиться к базе данных SQL с помощью Management Studio.

на панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2012 и нажмите кнопку среда SQL Server Management Studio.

в окне подключение к серверу, указать полное имя сервера, как serverName.database.windows.net - ... В Windows Azure имя сервера в автоматически формируемую строку, состоящую из буквенно-цифровых символов.

выберите проверка подлинности SQL Server.

в поле имя Входа введите имя Входа администратора SQL Server, указывается на портале при создании сервера в формате логин@имя_сервера.

в поле пароль введите пароль, указанный в этот портал при создании сервера.

Нажмите кнопку Подключиться, чтобы установить соединение.

в Windows Azure каждый логический сервер базы данных SQL является абстракцией это определяет группировку баз данных. Физическое расположение каждого база данных может быть на любом компьютере в центре обработки данных.

в предыдущих версиях вам приходилось подключаться непосредственно к master, когда настройка соединения в среде Management Studio. Этого шага больше нет необходимый. Соединения теперь будут успешными на основе имени сервера, тип проверки подлинности и учетные данные администратора.

многие мастера SSMS можно использовать для таких задач, как создание и изменение Логинов и баз данных в базе данных SQL Server не доступно для баз данных SQL в Windows Azure, поэтому вам необходимо использование языка Transact-SQL для выполнения этих задач. Шаг Ниже приводятся примеры этих утверждений. Для получения дополнительной информации о с помощью Transact-SQL с База данных SQL, в том числе сведения о том, какие поддерживаются команды, см. Справочник по Transact-SQL (база данных SQL).


(edit: предназначен для ответа на сообщение Costas Kounadis ниже, должен включать имя БД при подключении)

Я полностью согласен, вы должны ввести имя базы данных на вкладке Параметры. Это относится к соединениям SSMS, SSDT и ODBC.

Я думаю, причина в том, что если вы не предоставите имя базы данных, запрос на перечисление доступных баз данных отправляется в Azure, что вызывает сообщение об ошибке брандмауэра. Это может быть точное сообщение, потому что такой запрос может быть законным для созданной вами базы данных Azure, т. е. с использованием стандартной Azure, а не автоматически подготовленной, созданной Access.


просто чтобы быть ясным и предоставить некоторый текст для поиска этой проблемы, Vikas прибил это: "Не удается открыть сервер ... запрошено логином. Клиент с IP-адресом ... доступ к серверу запрещен. Чтобы включить доступ, используйте портал управления Windows Azure или запустите sp_set_firewall_rule в базе данных master, чтобы создать правило брандмауэра для этого IP-адреса или диапазона адресов. Это может занять до пяти минут, чтобы изменения вступили в силу" ... (Microsoft SQL Server, ошибка: 40615)

для тех, кто считает, что требуется вход в Azure.. нет, когда вы используете MS Acces для создания веб-приложения, оно импортирует данные из указанных вами источников, но затем создает новую базу данных на платформе azure и экспортирует данные в эту базу данных. Таким образом, база данных не может управляться через портал azure (даже если исходный источник данных был базой данных Azure!). Внимание: созданная структура базы данных довольно сложна с большим количеством столов, посвященных интеграции с требованиями веб-приложения SharePoint/и т. д. Возиться со столами слишком много неизбежно что-то сломает!

также стоит отметить, что с помощью драйвера SQL 11 вы можете создать источник ODBC, но не с собственным драйвером SQL, поскольку вы не можете указать имя базы данных, пока не вошли в систему на сервере. Более поздние версии позволяют перейти к указанию базы данных перед подключением (хотя может потребоваться ввести пароль после изменения имя базы данных "по умолчанию". Или сделайте свой собственный из скрипта:

[ODBC]

DRIVER=SQL Server Native Client 11.0

UID= [userid from MSAccess]

Pwd=[password from MSAccess]

Encrypt=yes

DATABASE= [database from MSAccess]

SERVER=tcp:[server from MSAccess]

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

Specify database name for odbc connection to Access Azure server


для тех, у кого все еще есть проблема, см. мой пост в блоге: https://smindreau.wordpress.com/2014/04/29/access-web-app-2013-client-with-ip-address-is-not-allowed-access-to-the-server/

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