目前使用OCI访问数据库执行操作。发现一个问题:
需要执行DML语句的表如下:
表结构如下:
create table XT_APRV_ITEM
(
APRV_ID VARCHAR2(20) not null,
OBJ_ID VARCHAR2(20),
ROLE_ID VARCHAR2(20),
APRV_EMP VARCHAR2(20),
APRV_TIME DATE,
APRV_FLAG INTEGER,
APRV_CONTENT VARCHAR2(200),
CUR_FLAG INTEGER
)OCI执行的语句为:strsql = "insert into xt_aprv_item values(11,11,'哈哈',1,sysdate,1,11,11)"rc = OCIStmtPrepare(p_sql, p_err, (text *)strsql, strlen(strsql),
OCI_NTV_SYNTAX, OCI_DEFAULT);rc = OCIStmtExecute(p_svc, p_sql, p_err, 1, 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_COMMIT_ON_SUCCESS);
此时就卡住,不返回结果在执行如下语句就可以正常插入:
strsql = "insert into xt_aprv_item values(22,11,22,1,sysdate,1,11,11)"请教 OCI大侠们造成卡住的原因是什么?如何解决?
需要执行DML语句的表如下:
表结构如下:
create table XT_APRV_ITEM
(
APRV_ID VARCHAR2(20) not null,
OBJ_ID VARCHAR2(20),
ROLE_ID VARCHAR2(20),
APRV_EMP VARCHAR2(20),
APRV_TIME DATE,
APRV_FLAG INTEGER,
APRV_CONTENT VARCHAR2(200),
CUR_FLAG INTEGER
)OCI执行的语句为:strsql = "insert into xt_aprv_item values(11,11,'哈哈',1,sysdate,1,11,11)"rc = OCIStmtPrepare(p_sql, p_err, (text *)strsql, strlen(strsql),
OCI_NTV_SYNTAX, OCI_DEFAULT);rc = OCIStmtExecute(p_svc, p_sql, p_err, 1, 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_COMMIT_ON_SUCCESS);
此时就卡住,不返回结果在执行如下语句就可以正常插入:
strsql = "insert into xt_aprv_item values(22,11,22,1,sysdate,1,11,11)"请教 OCI大侠们造成卡住的原因是什么?如何解决?
解决方案 »
- oracle中sql的查询排序区是不是PGA??
- oracle 数据复制,紧急!!!!高手请近!!!
- 高分求oracle sql写法!
- SQL 格式问题
- 向大家请教一个简单的 存储过程和函数 的题目!!!!
- 在删除Oracle 9i的表的时候出现“All version enabled tables owned by 'table' must be disabled first”?
- 请教各位大虾一个关于like的用法??
- 导入导出
- 那位大虾知道什么地方有有关oracal包方面的资料或是书啊?
- 高分求助!oracle 数据库与 foxpro 数据库两个异构表之间的数据同步的解决方案
- 用OCI涵数连接ORACL的时候,那个参数决定了可以访问那个SKIM.
- 关于RANK OVER的奇怪问题
表字段的实际顺序不一定就是定义时的顺序,SQL语句改成:
strsql = "insert into xt_aprv_item(APRV_ID,OBJ_ID,ROLE_ID,APRV_EMP,APRV_TIME,APRV_FLAG,APRV_CONTENT,CUR_FLAG) values(11,11,'哈哈',1,sysdate,1,11,11)"
都成功了就在自己的程序中测试!我经常就是按照这种方法去做的!效果很好!