Как собрать заголовки столбцов и данные с помощью команды dbisqlc.exe - PullRequest
1 голос
/ 03 марта 2011

Я пытаюсь выполнить запрос к базе данных Sybase ASA с помощью командной строки dbisqlc.exe в системе Windows и хотел бы собрать заголовки столбцов вместе с соответствующими данными таблицы.

Пример:

dbisqlc.exe -nogui -c "ENG=myDB;DBN=dbName;UID=dba;PWD=mypwd;CommLinks=tcpip{PORT=12345}" select * from myTable; OUTPUT TO C:\OutputFile.txt

Я бы предпочел, чтобы эта команда записывала в stdout, однако это не является опцией, кроме использования dbisql.exe, которое недоступно в среде, в которой я нахожусь.

Когда я запускаю его в этом формате, заголовок и данные генерируются, однако, в непарсируемом формате.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Попробуйте добавить предложение «FORMAT SQL» в оператор OUTPUT.Он выдаст вам оператор выбора, содержащий имена столбцов и данные.

0 голосов
/ 03 марта 2011

При просмотре вывода следующей команды dbisqlc.exe , создается впечатление, что я могу проанализировать вывод с помощью perl.

Команда: dbisqlc.exe -nogui -c "ENG = myDB; DBN = dbName; UID = dba; PWD = mypwd; CommLinks = tcpip {PORT = 12345}" select * from myTable; ВЫХОД НА C: \ OutputFile.txt

Вывод кажется прерывистым в нечетных местах при использовании текстовых редакторов, таких как vi или TextPad, однако вывод этой команды фактически возвращается с определенной шириной столбца.

Вторая строка выходных данных содержит набор знаков =, которые содержатся для ширины каждого столбца. Я создал строку " template ", основанную на символах =, которые можно передать в функцию perls unpack . Затем я использую этот шаблон для построения массива имен столбцов и анализа результирующего набора, используя unpack .

Возможно, это не самый эффективный метод, но я думаю, что он должен дать мне результаты, которые я ищу.

...