Execute ObdcCommand for NetezzaSQL with C#
本文关键字:with NetezzaSQL for ObdcCommand Execute | 更新日期: 2023-09-27 18:34:08
我正在尝试在 c# 中使用 OdbcCommand 执行命令,但似乎我什至无法打开连接。这是我为创建连接字符串而获得的数据
Server: APPRDNETEZZA (192.168.0.64)
Web Server: beamprdwb3
ODBC DSN Name (64bit): NZ_FUTUREBRANDS
User: MSTR_ADMIN
Port: 5480
这是我的代码
string connetionString = null;
OdbcConnection cnn;
OdbcCommand cmd;
string sql = null;
connetionString = "Driver={NetezzaSQL}; servername=APPRDNETEZZA ;
database=NZ_FUTUREBRANDS; port=5480; username=MSTR_ADMIN;
password=mstr17Uz1%4;";
sql = "CREATE EXTERNAL TABLE X_STORE_GROUP_GUID_12345(" +
"STORE_ID VARCHAR(10)," +
"STORE_NAME VARCHAR(50)," +
"USERID Varchar(255)," +
"import_guid Varchar(255), )" +
"USING(" +"DATAOBJECT('/apnas01/vol2.nfs.Data/ap_prod/data/store_upload/scripts/12345_guid_12345')" + "logDir '/apps/ap_prod/log'" + " delimiter ','" + " "; ";
cnn = new OdbcConnection(connetionString);
try
{
cnn.Open();
Console.WriteLine("Connection Opened ");
cmd = new OdbcCommand(sql, cnn);
cmd.ExecuteNonQuery();
cmd.Dispose();
cnn.Close();
result = "Executed sucessfully";
}
catch (Exception ex)
{
result = "Error" + ex.InnerException.ToString();
}
尝试打开连接时会发生错误。调试时它给了我这个内部异常
[ODBC 驱动程序管理器] 找不到数据源名称,并且没有默认驱动程序 指定
我的机器中安装了 Odbc 驱动程序。我不知道这正在发生,因为连接字符串格式不正确。我花了很多时间试图弄清楚为什么不起作用。感谢任何形式的帮助。谢谢
下面是
一个示例 Netezza ODBC 连接字符串:
https://www.connectionstrings.com/netezzasql-odbc-driver/
Driver={NetezzaSQL};servername=myServerAddress;port=myPortNumber;
database=myDataBase;username=myUsername;password=myPassword;
连接字符串基本相同:
connetionString = "Driver={NetezzaSQL}; servername=APPRDNETEZZA ;
database=NZ_FUTUREBRANDS; port=5480; username=MSTR_ADMIN;
password=xyz;";
建议:
将整个连接字符串(引号内的所有内容)设为一行。 不要将字符串分成单独的行。
或者使用"+"(就像你对SQL字符串所做的那样)。
将驱动程序 (nsqlodbc.dll?) 复制到与.exe程序集相同的目录中(路径问题?
尝试 32 位和 64 位驱动程序(CPU 平台问题?
一定要回发你发现的东西!