oracle 的pro c中的问题 BLOB型数据好像要先进行类型转换的吧好像不可以直接插的回去翻翻书,哈哈,先占个1楼 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL> create table henry_test(aaa blob);Table createdSQL> insert into henry_test values ('10');1 row insertedSQL> commit;Commit completeSQL> select * from henry_test;AAA---<BL谁说不能直接插? 就是pro*c中下面的一段代码,执行是竟然报错,错误代码为24811,这段代码可是跟pro*c官方教材上写的是一样的 EXEC SQL ALLOCATE :msgLocator;EXEC SQL INSERT INTO txn_msg (seq_no, phase_no, pkg_no, in_out, node_id, blob_msg, result) VALUES (:dbTxnSeqNo, 0, :pkgNo, 'I', :dbNodeId, EMPTY_BLOB(), :result) RETURNING blob_msg into :msgLocator;if (sqlca.sqlcode){ writeLogProc(); return -1;}EXEC SQL VAR msgBuf IS RAW(MAX_MSG_LEN);memcpy(msgBuf, pReqMsg->buf + 1 + (unsigned char) pReqMsg->buf[0], msgLen);EXEC SQL LOB WRITE ONE :msgLen FROM :msgBuf INTO :msgLocator;EXEC SQL FREE :msgLocator; 高手来看看啊!困扰我很长时间了还有,为什么从blob域中取出数据时数据前两个字节都会被置为0x00呢?? A,B表是主子表关系,需要把A,B表中的数据分别备份到A,B表 TNS: 协议适配器错误 oracle存储过程的优化 存储过程中的错误 2603 是什么意思 存储空间的问题create table TEST_BIG 一个预编译语句插入日期查询的问题 SQL语句如何表示除法运算? 数据库管理 高分求解Oracle9.2安装问题! 一个关于oo4o访问Oracle数据库的问题 deallocate到底怎么用! java中调用oracle8i存储过程,有时能返回值,有时不能(在数据库中执行确认有值)
---
<BL谁说不能直接插?
EXEC SQL
ALLOCATE :msgLocator;EXEC SQL
INSERT
INTO txn_msg
(seq_no, phase_no, pkg_no, in_out, node_id, blob_msg, result)
VALUES
(:dbTxnSeqNo, 0, :pkgNo, 'I', :dbNodeId, EMPTY_BLOB(), :result)
RETURNING blob_msg into :msgLocator;if (sqlca.sqlcode)
{
writeLogProc();
return -1;
}EXEC SQL
VAR msgBuf IS RAW(MAX_MSG_LEN);memcpy(msgBuf, pReqMsg->buf + 1 + (unsigned char) pReqMsg->buf[0], msgLen);EXEC SQL
LOB WRITE ONE :msgLen
FROM :msgBuf
INTO :msgLocator;EXEC SQL
FREE :msgLocator;
还有,为什么从blob域中取出数据时数据前两个字节都会被置为0x00呢??