Проблема строки соединения ODBC - PullRequest
1 голос
/ 03 апреля 2010

У меня серьезные проблемы с подключением к моей базе данных через ODBC.

БД локальная (но у меня есть зеркало на виртуальной машине), поэтому я пытаюсь использовать строку подключения:

Dsn = MonetDB; хост = Тарбелл

где TARBELL - имя моего компьютера. Однако это не соединяет. НО эта строка делает:

Dsn = MonetDB; хост = локальный

как и

Dsn = MonetDB

Может кто-нибудь объяснить это? Я в полной растерянности.

Я снял свои брандмауэры (по крайней мере, пока я не выяснил это), так что это не может быть проблемой.

В конце концов я хочу изменить TARBELL на зеркальную виртуальную машину, на которой запущен другой экземпляр базы данных.

Большое спасибо, Brett

Ответы [ 4 ]

2 голосов
/ 03 апреля 2010

Я могу рекомендовать connectionstrings.com для получения подробной информации о поддерживаемом синтаксисе для всех поддерживаемых поставщиков ADO.NET.

1 голос
/ 29 ноября 2012

решил, что отправлю ответ на этот вопрос здесь, так как нашел это при поиске строки подключения windows monetdb.это строка conn, которую я использую, и она работает для monetdb 5:

DRIVER=MonetDB ODBC Driver;PORT=50000;HOST=<your host>;DATABASE=<your db>;UID=monetdb;PWD=monetdb
1 голос
/ 03 апреля 2010

DNS обычно разрешает TARBALL и localhost по-разному. Вы можете увидеть с помощью пинга:

c:\>ping tarball
Pinging tarball [192.168.1.99] with 32 bytes of data:
                 ^^^^^^^^^^^^

c:\>ping localhost
Pinging tarball [127.0.0.1] with 32 bytes of data:
                 ^^^^^^^^^

Имя компьютера преобразуется во внешний IP, а localhost - в специальный IP 127.0.0.1, который всегда указывает на локальный компьютер Некоторые установки MySQL прослушивают только localhost, поэтому, если вы укажете имя компьютера, они прекратят прослушивание.

Это поведение настраивается с использованием опции bind-address:

--bind-address=127.0.0.1

Или эквивалент (MySQL также использует DNS для разрешения имен хостов):

--bind-address=localhost 

Чтобы сервер прослушивал все интерфейсы, укажите:

--bind-address=0.0.0.0

В Windows MySQL считывает параметры конфигурации из:

WINDIR\my.ini, WINDIR\my.cnf
C:\my.ini, C:\my.cnf
INSTALLDIR\my.ini, INSTALLDIR\my.cnf

Для получения дополнительной информации см. Страницы справочника MySQL .

0 голосов
/ 03 апреля 2010

Я никогда не видел параметр "хост" для строки подключения типа DSN. DSN хранятся вместе с пользователем, системой или в виде файла. То, как вы указали здесь DSN, хранится либо под вашей учетной записью, либо в системе. При DSN все учетные данные и информация о том, какой сервер и драйвер будут использоваться, хранятся в DSN. Если вы хотите контролировать эти параметры, вам следует рассмотреть строку соединения без DSN, например:

"Driver={Mysql}; Server=[server_name];Port=[port_number]; Database=[database_name];UID=[username]; PWD=[password]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...