Войти

Показать полную графическую версию : [решено] MySQL и pipe: как прописать строку подключения


andrew_jr20
20-08-2012, 19:52
Добрый вечер.
Постоянно использовал стандартную строку соединения с БД, но вот для локальных машин решил попробовать использование именованных каналов Windows. Во всех мануалах сказано, что для этого достаточно запустить сервер с enable-named-pipe, а в строке соединения указать либо порт=-1, либо сервер= ".", либо указать protocol=pipe.
Но ничего из найденного не срабатывает: когда указываю порт=-1 выдаётся ошибка
System.OverflowException: Значение было недопустимо малым или недопустимо большим для UInt32.
Когда пишу просто pipe=MySQL - подключается, но в статусе видно, что подключение пошло через tcp/ip.
В остальных же случаях выдаёт ошибку недоступности сервера.
Если подключаться не из программы, а пробовать подцепиться, используя mysql.exe --pipe - то подключение проходит нормально.
Что я упустил и где нужно подправить строку соединения с базой? Заранее спасибо.

andrew_jr20
20-08-2012, 23:38
Всё, разобрался - для нормальной работы нужно было указать connection protocol=pipe и обязательно прописать имя канала также, как оно прописано в my.cnf, а то по умолчанию эти значения в конфиге и в строке соединения разнятся.
А ошибка, связанная с невозможностью указать порт=-1 (т.к. само значение принимает тип uint) пробегала в багзилле mysql, где решением было исправление документации, так как ошибка проявлялась только в коннекторе под .Net.




© OSzone.net 2001-2012