Sql server SQL Server传递表Netezza
只是想知道要实现的最佳实践是什么: 我们有一个在SQL Server中运行的存储过程,需要使用要存储在Netezza上的巨大事实表进行一些计算 流程:Sql server SQL Server传递表Netezza,sql-server,netezza,linked-server,Sql Server,Netezza,Linked Server,只是想知道要实现的最佳实践是什么: 我们有一个在SQL Server中运行的存储过程,需要使用要存储在Netezza上的巨大事实表进行一些计算 流程: 存储过程将在SQL Server上创建临时表 这些将被发送到Netezza,与事实表连接 将在Netezza中进行计算 结果将传回SQL Server 将临时表从SQL Server传递到Netezza的方法有哪些? 谢谢我所知道的进出Netezza的唯一方法是通过平面文件,或者使用ODBC驱动程序直接与Netezza一起工作,在memerory
谢谢我所知道的进出Netezza的唯一方法是通过平面文件,或者使用ODBC驱动程序直接与Netezza一起工作,在memerory中保存记录集,并通过ODBC连接写入Netezza 无论您是在Windows还是Unix上,Netezza都提供了可用于连接Netezza的客户端工具。仅供参考,不要在网上找它们。您必须直接从Netezza或管理该关系的人员处获取这些信息 我建议研究如何使用SSIS中的ODBC驱动器为您完成这项工作。我不是SSIS的专业人士,所以我不能说我知道如何做到这一点,但我会先研究一下 如果我必须完成任务,我会用C#写一些东西来执行以下任务
- 从sql server创建平面文件
- 连接到Netezza创建链接到平面文件的外部表
- 调用Netezza中的过程来完成这项工作,并生成要在临时表中导出的数据
- 将新数据导出到平面文件,并将其重新导入sql server
OdbcDataReader GetReaderForCommand(string strCmd, string dbname)
{
var conn = new OdbcConnection();
conn.ConnectionString = "Driver={NetezzaSQL};servername=<servername>;port=5480;database="+dbname+"; username=<username>;password=<pwd>;";
OdbcDataReader rdr = null;
conn.Open();
System.Data.Odbc.OdbcCommand cmd = new System.Data.Odbc.OdbcCommand(strCmd, conn);
rdr = cmd.ExecuteReader();
return rdr;
}
OdbcDataReader GetReaderForCommand(字符串strCmd,字符串dbname)
{
var conn=新的OdbcConnection();
conn.ConnectionString=“Driver={NetezzaSQL};servername=;port=5480;database=“+dbname+”;username=;password=;”;
OdbcDataReader rdr=null;
conn.Open();
System.Data.Odbc.OdbcCommand cmd=新的System.Data.Odbc.OdbcCommand(strCmd,conn);
rdr=cmd.ExecuteReader();
返回rdr;
}
最后,这里有几个链接,我将跟进
enzeecommunity.com-搜索和提问的用户群
与Netezza一起使用的免费管理工作室
-