Подключение к MySQL с использованием моно на Solaris - PullRequest
4 голосов
/ 14 августа 2011

Я пытаюсь использовать базу данных MySQL, используя mono 2.8.1 на Solaris 10. Для этого я пытаюсь использовать официальный MySQL Connector / Net .Но я получаю следующее исключение:

System.Net.Sockets.SocketException: Protocol option not supported
  at System.Net.Sockets.Socket.GetSocketOption (SocketOptionLevel optionLevel, SocketOptionName optionName) [0x00000] in <filename unknown>:0
  at System.Net.Sockets.Socket.get_ReceiveTimeout () [0x00000] in <filename unknown>:0
  at System.Net.Sockets.NetworkStream.get_ReadTimeout () [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.TimedStream..ctor (System.IO.Stream baseStream) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) MySql.Data.MySqlClient.TimedStream:.ctor (System.IO.Stream)
  at MySql.Data.MySqlClient.MySqlStream..ctor (System.IO.Stream baseStream, System.Text.Encoding encoding, Boolean compress) [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.Open () [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Open () [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection () [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection () [0x00000] in <filename unknown>:0
  at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0x00000] in <filename unknown>:0

Видимо, Solaris не поддерживает ReceiveTimeout, который использует соединитель (косвенно).

IsЕсть ли способ обойти это исключение?Или другой способ использовать базу данных MySQL из моно в Solaris?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Просто идея, но коннектор DevArt MySQL ( dotConnect для MySQL ) официально поддерживает Mono и, возможно, у него нет проблем в Solaris (без использования ReceiveTimeout). Компоненты подключения к базе данных DevArt очень надежны, производительность потрясающая, а также по разумной цене. Конечно, вы можете проверить свой сценарий с их пробной версией.

0 голосов
/ 17 августа 2011

Специально для этого вопроса я настроил виртуальную машину с Solaris 10 и выполнил следующие инструкции: Частично: http://developer.mindtouch.com/User:deprecated/*Archive/SAMP(Solaris10,Apache2,MySQL5,PHP5)_with_Mono_setup-guide_for_MindTouch

и http://www.mono -project.com / MySQL

как последний пример работал для меня.

...