Единственный известный мне способ получения данных в Netezza и из Netezza — это использование плоских файлов или использование драйверов ODBC для прямой работы с Netezza, хранения набора записей в памяти и записи в Netezza через соединение odbc.
Независимо от того, используете ли вы Windows или Unix, Netezza поставляется с клиентскими инструментами, которые вы можете использовать для подключения к Netezza. К вашему сведению, не утруждайте себя поиском их в Интернете. Вам придется получить их непосредственно от Netezza или от человека, который управляет этими отношениями.
Я бы предложил посмотреть, как я мог бы использовать диски ODBC в SSIS, чтобы сделать эту работу за вас. Я не профессионал в SSIS, поэтому не могу сказать, что знаю, как это сделать, но я бы сначала изучил это.
Если бы мне нужно было выполнить задачу, я бы написал что-нибудь на C# для выполнения следующих задач.
- Создание плоских файлов с сервера sql
- Подключиться к Netezza Создать внешнюю таблицу, которая ссылается на плоский файл.
- Вызов процедур в Netezza для выполнения работы и создания данных для экспорта во временную таблицу.
- Экспортируйте новые данные в плоский файл и импортируйте их обратно на сервер sql.
Теперь, когда я думаю об этом, вы также можете попробовать следующее, однако это не проверено. Интересно, можете ли вы создать связанную таблицу на сервере sql и внешнюю таблицу в Netezza, которая использует один и тот же плоский файл. Обнажив блокировку файлов, если они могут, вы можете создать квази-ссылку на netezza с сервера sql.
Чтобы узнать больше о внешних таблицах в netezza. См. документ Netezza User Guide в главе 5.
Руководство пользователя Netezza
Кроме того, если вас интересует кодирование, ниже приведена очень хорошая ссылка на то, как подключиться к netezza через c#.
Запись стека а>
В итоге я использовал часть этого поста для создания приведенного ниже метода для выполнения команд против Netezza.
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;
}
Наконец, вот пара ссылок, по которым я хотел бы продолжить.
enzeecommunity.com - База пользователей для поиска и вопросов.
Бесплатная студия управления для использования с Netezza.
http://www.aginity.com/ProductivityTools/WorkbenchOverview.aspx —
11.11.2012