我正在使用以下内容:
DRIVER={Vertica ODBC Driver 4.1};
SERVER=lnxtabdb01.xxxx.com;
PORT=5433;
DATABASE=vertica;
USER=dbadmin;
PASSWORD=vertica;
OPTION=3;
Run Code Online (Sandbox Code Playgroud)
我收到此错误,我只想在检查其他可能的问题之前确保我的连接字符串很酷.
错误:
EnvironmentError: System.Data.Odbc.OdbcException (0x80131937): ERROR [28000] FATAL: no Vertica user name specified in startup packet
Run Code Online (Sandbox Code Playgroud)
更新:目前我只是在Windows Vista中使用我可以使用的系统数据源名称.但是我仍然想知道是否有odbc连接字符串,这样我就不必在每台将以这种方式连接到Vertica DB的机器上进行设置.
好吧,我尝试了一个postgresql连接字符串,如下所示:
Host=lnxtabdb01.xxxx.com;
Port=5433;
Database=vertica;
User ID=dbadmin;
Password=vertica;
Pooling=true;
OPTION=3;
Min Pool Size=0;
Max Pool Size=100;
Connection Lifetime=0;
Run Code Online (Sandbox Code Playgroud)
现在我得到这个:
EnvironmentError: System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Run Code Online (Sandbox Code Playgroud)
接受的答案描述了ODBC driver
使用系统连接Vertica的方法DSN
.可以仅使用连接字符串进行连接,以直接配置与驱动程序的连接.以下连接字符串模式已针对以下内容进行了测试Vertica ODBC Client Driver v6.1.2
:
Driver=Vertica;Server=MyVerticaServer;Port=5433;Database=MyVerticaDB;UID=foo;PWD=bar
Run Code Online (Sandbox Code Playgroud)
端口是可选的:
Driver=Vertica;Server=MyVerticaServer;Database=MyVerticaDB;UID=foo;PWD=bar
Run Code Online (Sandbox Code Playgroud)
或者,如果你像我一样在.NET中这样做,你可以使用它来格式化必要参数的连接字符串:
var connectionString = string.Format(
"Driver=Vertica;Server={0};{1}Database={2};UID={3};PWD={4}",
server,
port == null ? string.Empty : string.Format("Port={0};", port),
database,
username,
password);
Run Code Online (Sandbox Code Playgroud)
没有DSN,我也没有看到任何使用ODBC的方法.这是我的linux工作站的DSN设置.
[VerticaDSN]
Description = VerticaDSN ODBC driver
Driver = /opt/vertica/lib64//libverticaodbc_unixodbc.so
Database = Retail
Servername = localhost
UserName = vertica
Password =
Port = 5433
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14474 次 |
最近记录: |