Hello Dmitry, I have to look for the trace error, but for the LONG ASCII columns use an SQLDBC_HOSTTYPE_ASCII parameter if you have one (as your code shows). The ..._CLOB host type is for using the SQLDBC_LOB data type, which gives you kind of a handle for writing/reading data of LONG columns in pieces. This is obviously not in your example the case.
Regards Alexander Schröder SAP DB, SAP Labs Berlin -----Original Message----- From: Dmitry Key [mailto:[EMAIL PROTECTED] Sent: Freitag, 19. Mai 2006 06:04 To: maxdb@lists.mysql.com Subject: The couple of questions on SQLDBC_C The C code below connects to the database and adds one row to the simple table with CLOB field. The following problems took place: 1) If I try to set the trace file name like 'C:\Temp\LogFile.txt' library creates the text file with name 'c' in the working directory of MaxDB (although change history of the SQLDBC claims that such a bug was fixed in the version 7.6.00.19). The version of SQLDBC_C is 7.6.00.27. 2) INSERT operator uses the CLOB parameter (actually this parameter is char array filled by 'a' symbols). Everything is working fine except for empty CLOB value of the new row in the data table. Could somebody give me the hint what I did wrong in my code? The table has the following structure: id INT NOT NULL PRIMARY KEY name VARCHAR(100) c1 LONG ASCII The sample of C code (for the sake of brevity error handling code is removed): SQLDBC_IRuntime *runtime; SQLDBC_Environment *environment; SQLDBC_Connection *conn; SQLDBC_ConnectProperties *conn_prop; SQLDBC_PreparedStatement *stmt; SQLDBC_ResultSet *result; SQLDBC_Retcode rc; char szString[30]; char szHotelName[16]; SQLDBC_Length ind; char errorText[200]; char a[500]; int a_len; ConnectArgsT connectArgs; parseArgs (&connectArgs, argc, argv); runtime = ClientRuntime_GetClientRuntime(errorText, sizeof(errorText)); environment = SQLDBC_Environment_new_SQLDBC_Environment(runtime); conn = SQLDBC_Environment_createConnection(environment); conn_prop = SQLDBC_ConnectProperties_new_SQLDBC_ConnectProperties(); SQLDBC_ConnectProperties_setProperty(conn_prop, "SQL", "1"); SQLDBC_ConnectProperties_setProperty(conn_prop, "TIMESTAMP", "1"); SQLDBC_ConnectProperties_setProperty(conn_prop, "FILENAME", "c:\\temp\\logfile.txt"); SQLDBC_Environment_setTraceOptions(environment, conn_prop); rc = SQLDBC_Connection_connectASCII(conn, connectArgs.host, connectArgs.dbname, connectArgs.username, connectArgs.password, conn_prop); stmt = SQLDBC_Connection_createPreparedStatement(conn); rc = SQLDBC_PreparedStatement_prepareNTS(stmt, convertToUCS2("INSERT INTO Test (id, name, c1) VALUES(1, 'test', ?)"), SQLDBC_StringEncodingType_Encoding_UCS2Swapped); memset(a, 'a', 500); a_len = 500; rc = SQLDBC_PreparedStatement_bindParameter(stmt, 1, SQLDBC_HOSTTYPE_ASCII_CLOB, a, NULL, a_len, SQLDBC_FALSE); rc = SQLDBC_PreparedStatement_executeASCII(stmt); stmt = SQLDBC_Connection_createPreparedStatement(conn); rc = SQLDBC_PreparedStatement_prepareNTS(stmt, convertToUCS2("SELECT name, c1 FROM Test"), SQLDBC_StringEncodingType_Encoding_UCS2Swapped); rc = SQLDBC_PreparedStatement_executeASCII(stmt); result = SQLDBC_PreparedStatement_getResultSet(stmt); rc = SQLDBC_ResultSet_next(result); rc = SQLDBC_ResultSet_getObject(result, 1, SQLDBC_HOSTTYPE_ASCII, szHotelName, &ind, sizeof(szHotelName), SQLDBC_TRUE); rc = SQLDBC_ResultSet_getObject(result, 2, SQLDBC_HOSTTYPE_ASCII, szString, &ind, sizeof(szString), SQLDBC_TRUE); SQLDBC_Environment_releaseConnection(environment, conn); SQLDBC_Environment_delete_SQLDBC_Environment(environment); _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]