Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Problem with data type conversions and FreeTDS: msg#00046

db.tds.freetds

Subject: Problem with data type conversions and FreeTDS

Hi all,

I had a friend create a table on his M$ SQL server 2000 with just one
row and as many columns as data types. He filled each field with a
different value corresponding to data type. E.g.

bigint, bit, char, datetime, float, money, nvarchar, unique
1111119,1,c,30/04/2003 13:00:19,23.45, 123.45, hello, {F44A-etc-...blah}

Note the Unique identifier in the above example is not the real value I
just couldn't be bothered to write it out in full!

Anyway using the code snippet below works great except when trying to
convert and print the unique ID. What should I be doing to allow all
data types to be printed successfully as with tsql and sqsh?

<snip>

const string& tds::connection::print_field (const int &column) {
static string str;
unsigned char *row = results->current_row;
const int type = results->columns[column]->column_type;
const int offset = results->columns[column]->column_offset;
const int size = results->columns[column]->column_cur_size;
const int conversion_type = tds_get_conversion_type (type, size);

str.clear ();

if (tds_get_null (const_cast <unsigned char *> (row), column))
str = "NULL";
else {
CONV_RESULT convert;
unsigned char *value = &(row[offset]);

if (is_blob_type (type))
value = (unsigned char*) ((TDSBLOBINFO *) value)->textvalue;

if (tds_convert (context, conversion_type, (TDS_CHAR *) value,
size, SYBVARCHAR, &convert) < 0)
throw tds::error ("Failed to convert row type at column.");

str = convert.c;
free (convert.c);
}

return str;
}

</snip>

I have tried printing both the C++ tds::string and the converted value*
both fail.

Can anyone help! Plleasse!!

Many thanks

James Vanns

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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
hardware.arm.at...    cms.citadel.dev...    video.gstreamer...    java.facelets.u...    misc.basics.qna...    web.wiki.instik...    network.uip.use...    xdg.devel/2003-...    tex.bibtex.bibd...    finance.quotesp...    ietf.zeroconf/2...    redhat.blinux.g...    suse.db2/2003-0...    php.phpesp/2004...    uml.devel/2003-...    gnome.labyrinth...    qnx.openqnx.dev...    boot-loaders.gr...    db.dataperfect....    audio.audacity....    linux.uclinux.m...    editors.j.devel...    os.openbsd.tech...    kde.users.multi...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation