代码如下:连接数据库字段: 
cn_stsc=new TADOConnection(Form2);
cn_stsc->ConnectionString= "Provider=OraOLEDB.Oracle.1;Password=YDJW;User ID=YDJW;Data Source=Mapser;Persist Security Info=True";
cn_stsc->LoginPrompt=false;
  cn_stsc->Open();数据库操作:
TADOCommand *cmd_st=new TADOCommand();
cmd_st->Connection=cn_st;
cmd_st->CommandText="insert into LNCK.ZPZP(ZPBH,ZPSJ,CPHM,SCSJ) values('"+field0+"','"+field1+"','"+field2+"','"+field3+"')";
cmd_st->CommandText="call YDJW.SCST.SC()";
cmd_st->Execute();问题:
  如果在数据库操作中,不用到别的用户的表,即把LNCK.ZPZP改为ZPZP,数据库可以连接,只是写数据时会报错。
但如果使用LNCK.ZPZP,数据库也连不上了,请问为什么啊 而且肯定是连接数据库操作先执行的啊
亟待解答,谢谢回复

解决方案 »

  1.   

    看看 LNCK 用户是否有写的权限select * from dba_sys_privs;
      

  2.   

    看用户LNCK是否又对 表ZPZP的insert权限。1,select * from dba_sys_privs查下,2,用sys登陆,赋予LNCK用户insert权限: grant insert on zpzp to LNCK; 或者grant resources to LNCK;