Skip to Content.
Sympa Menu

freetds - [freetds] Still can't process stored procedure results.

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: James Vanns <jimv AT canterbury.ac.uk>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: [freetds] Still can't process stored procedure results.
  • Date: Mon, 18 Aug 2003 14:12:25 +0100

OK, I understand that M$ SQL Server (2000) outputs the results of stored
procedures in two different ways depending on how the sproc is written.
It can return a result set or print out the fields directly (to stdout
if you like!).

I can retrieve (using the TDS library) the results of a sproc if it is a
result-set. However I cannot if it is printed to the 'screen'. I am
switching on the directives below:

<snip>
results = socket->res_info;

if (results)
switch (result_type) {
case TDS_ROWFMT_RESULT:
case TDS_COMPUTEFMT_RESULT:
for (int i = 0 ; i < results->num_cols ; i++)
headers.push_back (results->columns[i]->column_name);

break;
case TDS_ROW_RESULT:
case TDS_COMPUTE_RESULT:
while (tds_process_row_tokens (socket, &row_type, &id) ==
TDS_SUCCEED) {
vector<string> row;
for (int i = 0 ; i < results->num_cols ; i++)
row.push_back (field_as_string (i));

result_set.push_back (row);
}
break;
}

</snip>

I am using the latest FreeTDS source and protocol version 8. Any ideas
on how I can see the results of a sproc that simply prints its output?

Many thanks.

James Vanns

--
James Vanns BSc (Hons) MCP
Linux Systems Administrator
Senior Software Engineer (Linux / C & C++)
Canterbury Christ Church University College
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x24045370





Archive powered by MHonArc 2.6.24.

Top of Page