如何用OTL选择整个表,并将其保存到文件?

时间:2010-09-27 08:51:47

标签: c++ database oracle wrapper otl

这是问题,我不知道表中的属性有多少属性或类型,我需要简单的选择语句,如:SELECT * FROM TABLE1;写下来归档。

这需要使用otlv4包装器来完成。

请帮忙。

otl_stream i(50, // buffer size             
     "select * from test_tab where f1>=:f<int> and f1<=:f*2",                 // SELECT statement           
     db // connect object      
     );     
int ac=0;
     char bc[64];
     memset(bc, 0, 64);

     while(!i.eof())
     {

        i >> ac >> bc;
        cout << "Boooo " << ac << "  " << bc << endl;
     }

这是我知道有多少属性以及有哪些类型的示例。但是如果我不知道那该怎么办?

1 个答案:

答案 0 :(得分:0)

文件流以及OTL的check_end_of_row()set_all_column_types()函数应该可以满足您的要求。在循环OTL流的eof检查时,对于每一行,您可以在行检查结束时循环,并将每个属性的值从OTL流发送到文件流。在每行结束检查之后,将您的换行符代码发送到文件流。将所有列类型设置为str应允许您仅使用一个变量来处理行中的所有属性值。

来自OTL文档的

This示例演示了如何使用set_all_column_types函数。您必须先创建流,设置选项,然后打开流。如果您同时创建和打开流,它将无法工作。