Обратите внимание, что файл Notes/load.unload
распространяется с DBD :: Informix и содержит рекомендации о том, как обрабатывать операции UNLOAD с использованием Perl, DBI и DBD :: Informix. К моему большому огорчению, я вижу, что там написано "Т.Б.Д." (более или менее) для секции LOAD.
Как утверждают другие люди, операторы LOAD и UNLOAD подделываются различными инструментами на стороне клиента, чтобы выглядеть как операторы SQL, но сервер Informix не поддерживает их сам, в основном из-за проблемы с получением файла от клиента. компьютер (возможно, ПК) на сервер (возможно, компьютер Solaris).
Чтобы смоделировать оператор LOAD, вам необходимо проанализировать часть INSERT INTO Table
. Если в нем перечислены столбцы (INSERT INTO Table(Col03, Col05, Col09)
), то в файле загрузки данных можно ожидать три значения, и они входят в эти три столбца. Вы должны подготовить оператор 'SELECT Col03, Col05, Col09 FROM Table
', чтобы получить типы столбцов. В противном случае вам нужно подготовить оператор 'SELECT * FROM Table
', чтобы получить полный список столбцов (и их типы). Учитывая имена столбцов и количество столбцов, вы можете создать и подготовить подходящий оператор вставки: 'INSERT INTO Table(Col03, Col05, Col09) VALUES(?,?,?)
' или 'INSERT INTO Table VALUES(?,?,?,?,?,?,?,?,?)
'. Вы можете (возможно, следует) включить имена столбцов во второй.
Теперь, когда все готово, у вас есть возможность проанализировать выгруженные данные. В программе SQLCMD имеется документ, доступный из Архива программного обеспечения IIUG (который был намного дольше, чем программа Microsoft с таким же названием). Это описывает формат UNLOAD в значительной степени. Perl имеет возможность обрабатывать все, что использует Informix - засвидетельствуйте информацию UNLOAD в файле load.unload
, распространяемом вместе с DBD :: Informix.