我现在从SQLServer中读取数据,约6000多条记录,保存在DataTable里,然后逐条插入到Oracle中,但是老是不能完全插入(count=4888,err1=1;err2=0),请问什么原因,在线急等。 int count = 0;
int err1 = 0;
int err2 = 0;
using (OracleConnection myConn = new System.Data.OracleClient.OracleConnection(OraConnectString))
{
//myConn.ConnectionString = "Data Source=myoracle;user id=sde;pwd=sde;persist security info=yes"; //step1:插入记录
OracleCommand cmd = null;
DataTable dt = getRecords(strTime);
if (dt.Rows.Count != 0)
{
foreach (DataRow row in dt.Rows)
{
try
{
if (myConn.State != ConnectionState.Open)
myConn.Open();
cmd = myConn.CreateCommand();
string strSQL = GetSQL(row); cmd.CommandText = strSQL;
cmd.ExecuteNonQuery();
count++;
}
catch (Exception exp)
{
if (exp.Message.Contains("ORA-00001"))
{
err1++;
continue;
}
else
{
err2++;
break;
}
}
}
}
}
int err1 = 0;
int err2 = 0;
using (OracleConnection myConn = new System.Data.OracleClient.OracleConnection(OraConnectString))
{
//myConn.ConnectionString = "Data Source=myoracle;user id=sde;pwd=sde;persist security info=yes"; //step1:插入记录
OracleCommand cmd = null;
DataTable dt = getRecords(strTime);
if (dt.Rows.Count != 0)
{
foreach (DataRow row in dt.Rows)
{
try
{
if (myConn.State != ConnectionState.Open)
myConn.Open();
cmd = myConn.CreateCommand();
string strSQL = GetSQL(row); cmd.CommandText = strSQL;
cmd.ExecuteNonQuery();
count++;
}
catch (Exception exp)
{
if (exp.Message.Contains("ORA-00001"))
{
err1++;
continue;
}
else
{
err2++;
break;
}
}
}
}
}
解决方案 »
- 身份证号码15位与18位的混合查询如何实现?
- Oracle数据导入导出一问
- 如何在oracle817中建立与SQLSERVER的DBLINK?
- 写了一个函数编译成功,执行却没结果,帮忙看下有没有错
- 如何将表空间的大小限制设为无限制?
- SYS与SYSTEM的区别
- 怎么把自己创建的表归属于我创建的用户呢?
- sqlldr倒入csv数据文件的问题?求救
- ora-00248是什么错?
- 为什么我的Oracle的DBA管理界面一运行什么都没反应,而在SQL plus可以连接上该数据库?急急急!!!
- DBLINK 和 execute immediate 如何结合的问题,请帮忙,急,在线等~!
- 这样的sql语句怎么写?
两边表结果不一致,不过我在生成SQL语句时改成Oracle的表的结构了,并且忽略了主键重复插入错误。结果成功插入了4000多条,不知道为什么不能完全插入,而且就发现一条主键重复插入错误(err1 =1 )。
插入SQL语句中的某个字段值有单引号和双引号,造成“System.Data.OracleClient.OracleException: ORA-00972: 标识过长”错误。
SQL语句:
insert into ajjml_zb values('普查区位于莱芜市城区西北约25km,属城区羊里镇管辖。地理坐标东经117°31'00"~117°33'45",北纬36°20'00"~36°21'30"面积11.55km2。1/1万地质测量、1/1万地质物探综合平面图编图、1/2千高精度磁测剖面与原有资料1/2千垂直磁力异常平面图分析对比,以及钻探和各项测试工作的实施,充分收集利用了以往的地质、物探资料,综合分析、综合研究,对区内羊里磁异常、泉子沟南磁异常以及孟家洼M3、M4~M7五个小异常进行了分析解释,作出了评价;对曾民采过的玉石、温石矿点进行了调查、描述和评价。提交D级铁矿石储量(推断的内蕴经济资源量(333))37.3385万吨;E级铁矿石储量(预测的资源量(334))63.9843万吨,D+E级铁矿石储量101.3228万吨,伴生组份。钴金属量183.32吨。','铁矿、孟家洼、普查','金属矿、黑色金属矿、铁矿','矿产勘查','','否')
这样的话怎么处理?