Sql ODBC连接字符串问题

Sql ODBC连接字符串问题,sql,mysql,database,odbc,Sql,Mysql,Database,Odbc,我在通过ODBC连接数据库时遇到了重大问题 db是本地的,但我在虚拟机上有一个镜像,因此我尝试使用connectionstring: Dsn=MonetDB;主机=塔贝尔 TARBELL是我电脑的名字。但是,它没有连接。但是,此字符串确实: Dsn=MonetDB;主机=本地主机 同样 Dsn=MonetDB 有人能解释一下吗?我完全不知所措 我已经关闭了我的防火墙,至少在我弄明白这一点之前,所以这不会是问题所在 我最终希望将TARBELL更改为运行另一个数据库实例的镜像虚拟机 非常感谢,, B

我在通过ODBC连接数据库时遇到了重大问题

db是本地的,但我在虚拟机上有一个镜像,因此我尝试使用connectionstring:

Dsn=MonetDB;主机=塔贝尔

TARBELL是我电脑的名字。但是,它没有连接。但是,此字符串确实:

Dsn=MonetDB;主机=本地主机

同样

Dsn=MonetDB

有人能解释一下吗?我完全不知所措

我已经关闭了我的防火墙,至少在我弄明白这一点之前,所以这不会是问题所在

我最终希望将TARBELL更改为运行另一个数据库实例的镜像虚拟机

非常感谢,,
Brett

我从未见过DSN类型连接字符串的主机参数。DSN或与用户、系统一起存储,或作为文件存储。按照您在此处引用DSN的方式,它存储在您的用户帐户下或与系统一起。对于DSN,有关要使用的服务器和驱动程序的所有凭据和信息都存储在DSN中。如果希望控制这些参数,则应考虑DSN较少的连接字符串,如::

"Driver={Mysql}; Server=[server_name];Port=[port_number]; Database=[database_name];UID=[username]; PWD=[password]"

我从未见过DSN类型连接字符串的主机参数。DSN或与用户、系统一起存储,或作为文件存储。按照您在此处引用DSN的方式,它存储在您的用户帐户下或与系统一起。对于DSN,有关要使用的服务器和驱动程序的所有凭据和信息都存储在DSN中。如果希望控制这些参数,则应考虑DSN较少的连接字符串,如::

"Driver={Mysql}; Server=[server_name];Port=[port_number]; Database=[database_name];UID=[username]; PWD=[password]"
我可以推荐所有受支持的ADO.NET提供程序支持的语法的详细信息。

我可以推荐所有受支持的ADO.NET提供程序支持的语法的详细信息。

DNS通常以不同的方式解析TARBALL和localhost。您可以通过ping看到:

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上侦听,因此如果指定计算机名,它们将停止侦听

使用绑定地址选项配置此行为:

或者等效的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
有关更多信息,请参阅。DNS通常以不同的方式解析TARBALL和localhost。您可以通过ping看到:

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上侦听,因此如果指定计算机名,它们将停止侦听

使用绑定地址选项配置此行为:

或者等效的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

有关更多信息,请参阅。

我想我应该在这里发布一个答案,因为我在搜索windows monetdb连接字符串时发现了这个问题。这是我正在使用的conn字符串,为monetdb 5工作:

DRIVER=MonetDB ODBC Driver;PORT=50000;HOST=<your host>;DATABASE=<your db>;UID=monetdb;PWD=monetdb

我想我应该在这里发布一个答案,因为我在搜索windows monetdb连接字符串时发现了这个。这是我正在使用的conn字符串,为monetdb 5工作:

DRIVER=MonetDB ODBC Driver;PORT=50000;HOST=<your host>;DATABASE=<your db>;UID=monetdb;PWD=monetdb

如果我必须打赌,我会说主机条目指的是DSN已创建的机器,而不是DSN指向的服务器。如果我必须打赌,我会说主机条目指的是DSN已创建的机器,而不是DSN指向的服务器。谢谢!,设置连接字符串失败时,错误是驱动程序的SQLSetConnectAtt失败。一些条目谈到在x64上安装x32和x64 odbc的驱动程序版本,当然没有找到更多条目。谢谢!,设置连接字符串失败时,错误是驱动程序的SQLSetConnectAtt失败。一些条目谈到在x64上安装x32和x64 odbc的驱动程序版本,当然,没有找到更多条目。