Подключение к базе данных SQL Server с помощью Mono C # - PullRequest
1 голос
/ 18 июля 2011

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

Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает. на Mono.Data.Tds.Protocol.TdsComm..ctor

  at System.Data.SqlClient.SqlConnection.Open()

Базы данных для меня довольно новые, но, насколько я могу судить по здесь (страница кэша Google, моно-сайт недоступен), доступ к базам данных SQL Server теперь возможен в Mono. Это правильно?

Я попытался структурировать строку подключения, как показано, но все равно не повезло. Мой простой тестовый код ...

using (SqlConnection con = new SqlConnection(cs))

            {

                con.Open();

                SqlDataReader reader = null;

                SqlCommand cmd = new SqlCommand("SELECT Parameter FROM Deltas", con);

                reader = cmd.ExecuteReader();

                reader.Read();

                    Console.WriteLine(reader["Parameter"].ToString());

                con.Close();

            }

Я пропускаю какие-либо ссылки или мой формат неверен? Как я могу подключиться с помощью Mono C #?

EDIT:

Строка соединения, определенная глобально и init в конструкторе:

         cs = @"Server=xxx.xxx.xxx.xxx;
               Database=myDB;
               User ID=user;
               Password=passwd;";


     cs = @"Data Source=xxx.xxx.xxx.xxx;
               Network Library=DBMSSOCN;
               Initial Catalog=myDB;
               User ID=user;
               Password=passwd;";

Вверху я пытаюсь соответствовать моно-примеру, внизу - то, что работает со средой выполнения .NET.

1 Ответ

1 голос
/ 18 июля 2011

Кажется, вы нажали ошибку:

http://www.mail-archive.com/mono-bugs@lists.ximian.com/msg50686.html

цитата:

Это происходит только при использовании версии TDSComm .NET 2.0 - когда компиляция с .NET 1.0 (mcs вместо gmcs), соединение также работы.

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