Очень простая программа на C # не подключается к базе данных SQL Azure - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь написать очень простой C # Script, который устанавливает соединение с моей базой данных SQL Azure.

using System;
using System.Data.SqlClient;
namespace first_project
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            var cb = new SqlConnectionStringBuilder();
            cb.DataSource = "server.bloo.blah.foobar";
            cb.UserID = "user@database";
            cb.Password = "secret";
            cb.InitialCatalog = "database";
            using (SqlConnection connection = new SqlConnection(cb.ConnectionString))
            {
                try
                {
                    connection.Open();
                    Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
                    Console.WriteLine("State: {0}", connection.State);
                }
                catch(Exception e)
                {
                    Console.WriteLine(e.ToString());
                }
            }
        }
    }
    }

Из того, что я собрал в сети, этот код должен работать?Тем не менее я получаю следующую ошибку

System.AggregateException: произошла одна или несколько ошибок.---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: операция на неблокирующем сокете блокируется.---> System.Net.Sockets.SocketException: операция на неблокирующем сокете блокирует

Может ли кто-нибудь рассказать мне о том, что происходит?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

В вашем соединении вместо cb.UserID = "user @ database" используйте cb.UserID = "user"

Это должно работать.

0 голосов
/ 21 мая 2018

Сначала база данных SQL имеет брандмауэр.Вы должны добавить свой IP через портал Azure.

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

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