невозможно загрузить данные в Azure SQL, используя лазурные блоки данных - PullRequest
0 голосов
/ 02 марта 2019

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

Сообщение об ошибке ----
com.microsoft.sqlserver.jdbc.SQLServerException: TCP / IP-соединение с хостом b63da5ce2d2d.tr27.northeurope1-a.worker.database.windows.net, порт 65535 не удалось.Ошибка: «истекло время подключения. Проверьте свойства подключения. Убедитесь, что экземпляр SQL Server запущен на хосте и принимает подключения TCP / IP к порту. Убедитесь, что подключения TCP к порту не заблокированы брандмауэром."

Scala-код -

import com.microsoft.azure.sqldb.spark.config.Configimportcom.microsoft.azure.sqldb.spark.connect ._ // Создать коллекцию DataFrame (valсбор) valconfig = Config (Map ( "URL" -> "mysqlserver.database.windows.net", "Databasename" -> "MyDatabase", "dbTable" -> "dbo.Clients" "пользователь" -> "имя пользователя", "пароль" -> "XXXXXXXX")) importorg.apache.spark.sql.SaveModecollection.write.mode (SaveMode.Append) .sqlDB (конфигурации)

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Почему ваш номер порта "65535", а не 1433?

База данных SQL взаимодействует через порт 1433. Я думаю, что именно по этой причине вы не можете подключиться к базе данных SQL Azure.enter image description here

Пожалуйста, укажите: Правила брандмауэра IP уровня сервера .

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

Ссылка: Изменение порта на сервере SQL Azure .

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

Если вы не знаете, как открыть порт 1433 на вашем компьютере,

см. Как открыть порт брандмауэра 1433 для компонента SQL Server Database Engine .

О том, как загружать данные в базу данных SQL Azure, Azure предоставляет множество методов.

  1. Загрузка данных из CSV в базу данных SQL Azure (плоские файлы) .

  2. Загрузка файлов из хранилища BLOB-объектов Azure в базу данных SQL Azure .

Более подробно вы можете увидеть Загрузка данных в SQL Server или базу данных SQL Azure с помощью служб интеграции SQL Server .

Они оба могут помочь вам загрузитьданные в базе данных SQL Azure.

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

0 голосов
/ 02 марта 2019

Похоже, у вас включен брандмауэр в БД SQL.Попробуйте сначала отключить это, чтобы подтвердить проблему.

Если это работает, у вас есть два варианта, если вы хотите, чтобы брандмауэр был включен:

1) vnet присоединяет ваши блоки данных и sqldb к одному и тому же vnet.https://docs.azuredatabricks.net/administration-guide/cloud-configurations/azure/vnet-inject.html

2) в белом списке sqldb все лазурные ips для вашего местоположения.Они доступны для скачивания.Обратите внимание, что в некоторых местах более 128, что является максимальным количеством доступных правил брандмауэра.https://www.microsoft.com/en-gb/download/details.aspx?id=41653

...