急!请问ORA-12571: TNS:packet writer failure这个错误如何解决? 我是调试程序时,发生这个问题的。 我用的是c++builder6和oracle9i。当程序运行到一个事务提交时,就报这个错了。我连的是本地的oracle数据库。 请问大家,这个该如何解决? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你对数据库操作的是不是insert 或update 或delete语句吗?可是存储过程?把代码帖出来才可以分析 我用的是sql语句。以下是部分源代码: AnsiString sql3; if(epdata.iPictNum==1) { sql3="insert into "+strConfig.strTabOwn+".vio_temp_img(lsh,zj1,zjlb1) values(:lsh,:zj1,:zjlb1)"; } else if(epdata.iPictNum==2) { sql3="insert into "+strConfig.strTabOwn+".vio_temp_img(lsh,zj1,zjlb1,zj2,zjlb2,zj3,zjlb3,zj4,zjlb4) values(:lsh,:zj1,:zjlb1,:zj2,:zjlb2,:zj3,:zjlb3,:zj4,:zjlb4)"; } EpDataModule->EpDataQuery2->Close(); EpDataModule->EpDataQuery2->SQL->Clear(); EpDataModule->EpDataQuery2->SQL->Add(sql3); TFileStream * TempFile1,*TempFile2,*TempFile3,*TempFile4; TempFile1 = new TFileStream(epdata.strPicFile1,fmOpenReadWrite); TempFile1->Position=0; if(epdata.iPictNum==1) { TempFile2 = new TFileStream(epdata.strPicFile2,fmOpenReadWrite); TempFile2->Position=0; } EpDataModule->EpDataQuery2->Parameters->ParamByName("lsh")->Value=epdata.iLSH; EpDataModule->EpDataQuery2->Parameters->ParamByName("zj1")->LoadFromStream(TempFile1,ftBlob); EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb1")->Value=epdata.strZJLB; if(epdata.iPictNum==2) { EpDataModule->EpDataQuery2->Parameters->ParamByName("zj2")->LoadFromStream(TempFile2,ftBlob); EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb2")->Value=epdata.strZJLB; TempFile3 = new TFileStream(epdata.strPicFile3,fmOpenReadWrite); TempFile3->Position=0; TempFile4 = new TFileStream(epdata.strPicFile4,fmOpenReadWrite); TempFile4->Position=0; EpDataModule->EpDataQuery2->Parameters->ParamByName("zj3")->LoadFromStream(TempFile3,ftBlob); EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb3")->Value=epdata.strZJLB; EpDataModule->EpDataQuery2->Parameters->ParamByName("zj4")->LoadFromStream(TempFile4,ftBlob); EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb4")->Value=epdata.strZJLB; } EpDataModule->EpDataQuery2->ExecSQL(); EpDataModule->EpDataConn->CommitTrans();//运行到该处就出错了 ORA-12571: TNS:packet writer failure Cause: An error occurred during a data send.Action: Not normally visible to the user. For further details, turn on tracing and reexecute the operation.似乎是执行操作运行超时了,数据库连接时间设置为多少?可以把timeout值调大些再试,或者试一下减少事务的数据传输量看看 oracle身份验证机制究竟是怎样的? 上传下载解析EXCEL 怎么将sybase的IMAGE导入到oracle的blob,请高手告诉我。。。谢谢。 怎么在程序中使用sqlplus oracle调用webservice 创建包、包体,为什么会报错啊! Oracle10g客户端,安装NET Configuration assistant失败。 高手请进:关于分区中索引建立的问题? 如何建立好监听器 ?如何配置好客户端 net configuration 如何在同一台机器中测试与oracle的连接??? 关于数据库查询的问题 功能统计!
可是存储过程?把代码帖出来才可以分析
{
sql3="insert into "+strConfig.strTabOwn+".vio_temp_img(lsh,zj1,zjlb1) values(:lsh,:zj1,:zjlb1)";
}
else if(epdata.iPictNum==2)
{
sql3="insert into "+strConfig.strTabOwn+".vio_temp_img(lsh,zj1,zjlb1,zj2,zjlb2,zj3,zjlb3,zj4,zjlb4) values(:lsh,:zj1,:zjlb1,:zj2,:zjlb2,:zj3,:zjlb3,:zj4,:zjlb4)";
}
EpDataModule->EpDataQuery2->Close();
EpDataModule->EpDataQuery2->SQL->Clear();
EpDataModule->EpDataQuery2->SQL->Add(sql3); TFileStream * TempFile1,*TempFile2,*TempFile3,*TempFile4;
TempFile1 = new TFileStream(epdata.strPicFile1,fmOpenReadWrite);
TempFile1->Position=0;
if(epdata.iPictNum==1)
{
TempFile2 = new TFileStream(epdata.strPicFile2,fmOpenReadWrite);
TempFile2->Position=0;
}
EpDataModule->EpDataQuery2->Parameters->ParamByName("lsh")->Value=epdata.iLSH;
EpDataModule->EpDataQuery2->Parameters->ParamByName("zj1")->LoadFromStream(TempFile1,ftBlob);
EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb1")->Value=epdata.strZJLB;
if(epdata.iPictNum==2)
{
EpDataModule->EpDataQuery2->Parameters->ParamByName("zj2")->LoadFromStream(TempFile2,ftBlob);
EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb2")->Value=epdata.strZJLB; TempFile3 = new TFileStream(epdata.strPicFile3,fmOpenReadWrite);
TempFile3->Position=0;
TempFile4 = new TFileStream(epdata.strPicFile4,fmOpenReadWrite);
TempFile4->Position=0;
EpDataModule->EpDataQuery2->Parameters->ParamByName("zj3")->LoadFromStream(TempFile3,ftBlob);
EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb3")->Value=epdata.strZJLB;
EpDataModule->EpDataQuery2->Parameters->ParamByName("zj4")->LoadFromStream(TempFile4,ftBlob);
EpDataModule->EpDataQuery2->Parameters->ParamByName("zjlb4")->Value=epdata.strZJLB;
}
EpDataModule->EpDataQuery2->ExecSQL(); EpDataModule->EpDataConn->CommitTrans();//运行到该处就出错了
Cause: An error occurred during a data send.
Action: Not normally visible to the user. For further details, turn on tracing and reexecute the operation.似乎是执行操作运行超时了,数据库连接时间设置为多少?可以把timeout值调大些再试,或者试一下减少事务的数据传输量看看