DataTable 插入oracle数据库

假设,DataTable与oracle里面的表结构相同

表结构为 商品ID,商品类型,数量

现如今想把DataTable里面的值完全复制到oracle里的表中去

具体是点击某个按钮触发事件,便可导致数据添加至数据库中

在不使用BulkCopy的情况,有什么办法可以做到

1个回答

如果是插入空表,直接备份表;
如果是增量使用导出SQL,如果表中包含clob或blob字段,导出dmp文件

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c# datatable批量更新到oracle数据库
直接看代码:rnpublic static int OracleCopyDataTable(string table,DataTable dt, OracleConnection connOracle)rn rn tryrn rn string strfields = "";rn string strvalues = "";rn string filed = "";rn string strvalue = "";rn int count = 0;rnrn OracleDataAdapter da = new OracleDataAdapter();rnrn OracleCommandBuilder ob = new OracleCommandBuilder(da);rnrn da.InsertCommand = new OracleCommand();rnrn for (int i = 0; i < dt.Columns.Count; i++)rn rn string strfiled = dt.Columns[i].ColumnName;rn strfields += strfiled + ",";rn strvalues += "@" + strfiled + ",";rn rnrn if (strfields != "")rn rn strfields = strfields.Substring(0, strfields.LastIndexOf(","));rn strvalues = strvalues.Substring(0, strvalues.LastIndexOf(","));rn rnrn da.SelectCommand = new OracleCommand();rn da.SelectCommand.Connection = connOracle;rn da.SelectCommand.CommandText = "select id," + strfields + " from " + table;rn da.InsertCommand.CommandText = "insert into " + table + "(" + strfields + ") values (" + strvalues + ")";rnrn for (int i = 0; i < dt.Columns.Count; i++)rn rn filed = dt.Columns[i].ColumnName;rn strvalue = "@" + filed;rn OracleParameter oparam = new OracleParameter();rn oparam.ParameterName = strvalue;rn oparam.SourceVersion = DataRowVersion.Current;rn oparam.SourceColumn = filed;rn da.InsertCommand.Parameters.Add(oparam);rn rnrn count = da.Update(dt);rnrn connOracle.Close();rnrn return count;rn rn catch(Exception ex)rn rn string aa = ex.Message;rn return 0;rn rn rnrnoracleconnection 在传过来的时候是打开的,也就是说状态是open,现在是我的datatable的数据是从SQL数据库取出来的,在oracle数据库当中有一个自动增长列,我不知道自动增长列的值应该是多少,所以没有给赋值,在执行da.update(dt)的时候,报DataTable“Table”中缺少 SourceColumn“ID1”的 DataColumn“ID1”。的错误,我应该怎么去解决这个问题?
插入Oracle数据库
Database oracle; String sql= &quot;insert into tableName values(?,?,?,?)&quot;; PreparedStatement ps = oralce.getCurrentConnection().pareparedStatement(sql); int rows = 0; for(int i=0;i&amp;lt;Entity.length;i++...
mysql更新插入datatable
把datatable插入到表中,如下代码,不知道为什么只插入了第一行数据,还报了个错“字符串格式不正确”,求大神指正写法rn public void UpdateDatatable(DataTable dt, string tablename)rn rn tryrn rn con.Open();rn string select="select 产品名称,编号,单位,一级类别,二级类别,三级类别,产品品牌,产品系列,供应商,统一零售价,最低零rn 售价,库存上限,库存下限,备注,进货价,库存数量,系统编号 from " + tablename + " limit 0";rn MySqlCommand selectCMD = new MySqlCommand(select, con);rn // MySqlDataAdapter adapter = new MySqlDataAdapter("select * from " + tablename + " limit 0", con);rn MySqlDataAdapter adapter = new MySqlDataAdapter(selectCMD);rn MySqlCommandBuilder builder = new MySqlCommandBuilder(adapter);rn DataTable temp = new DataTable();rn adapter.Fill(temp);rn temp = dt;rn adapter.Update(temp.GetChanges());rn temp.AcceptChanges();rn rn
C# datatable 插入数据库
string sql1 = "select userid,result,type from tmp_vss_yc_result";rn DataSet data_tmp = new DataSet();rn OracleCommand cmdd = new OracleCommand(sql1, connection);rn OracleDataAdapter da5 = new OracleDataAdapter(cmdd);rnrn OracleCommandBuilder cb = new OracleCommandBuilder(da5);rn data_tmp = ds;rnrn da5.Update(data_tmp.Tables[0]);rnrnPS: ds 是一个结构跟 sql1 完全一样的 ,执行不报错 就是插入不到数据库。rn tmp_vss_yc_result 没有主键
c# datatable插入数据库
C# 如何将DataTable一次写入数据库rnrn public void UpdateDataTable(DataTable DT)rn rn SqlConnection Con = GetConnection();rn string strSQL = "select * from orderitems" ;rn if (Con.State == ConnectionState.Closed)rn rn Con.Open();rn rn tryrn rn SqlCommand Cmd = new SqlCommand(strSQL, Con);rn SqlDataAdapter Dad = new SqlDataAdapter(Cmd);rn Dad.Update(DT);rn rn Con.Close();rn rn rn catch (SqlException ex)rn rn throw ex;rn rn rnrn执行程序后数据并没有插入数据库,请帮忙看看代码该如何修改
datatable插入数据库问题
foreach遍历datatable后,逐条insert sql数据库,顺序不是datatable的顺序,很混乱,是怎么回事儿?请大家帮忙啊
oracle数据库插入二进制文件
1.创建表 大型对象(LOB)数据类型 Clob 最大4G,存储单字节字符型数据。适用于存储超长文本。 Nclob 最大4G,存储多字节国家字符型数据。适用于存储超长文本。 Blob 最大4G,存储二进制数据。适用于存储图像、视频、音频等。 BFile 最大长度是4GB,在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外
MyEclipse+DButils插入Oracle数据库失败
在学习MyEclipse,开发了一个类似于留言版的界面,目的是把用户填入的内容,插入到Oracle数据库,rn按照教程和网上的办法,就是更新不进去,提示错误。rn我额外把获取到的到的结果,分别加上单引号,是可以插入数据库的。rnrn折腾了半天,实在找不到原因。请教各位高手,rnrn[code=javascript]DynaValidatorForm f = (DynaValidatorForm) form;rn SimpleDateFormat time = new SimpleDateFormat("yyyy-mm-dd hh:MM:ss"); rn rn String sql="insert into message(id, name, title, content,time, email)values(seq_messg.nextval,?,?,?,?,?);";rn String params[]=(String) f.get("name"),(String) f.get("title"),(String) f.get("content"),time.format(new Date()),(String) f.get("email");rn Object[] params2=f.get("name"),f.get("title"),f.get("content"),time.format(new Date()),f.get("email");rn rn try rn Context context =new InitialContext();rn DataSource ds =(DataSource) context.lookup("java:/comp/env/jdbc/oracleds");rn QueryRunner qr = new QueryRunner(ds);rn qr.update(sql, params); rn qr.update(sql, params2);rnrn catch (NamingException e) rn e.printStackTrace();rn catch (SQLException e) rn e.printStackTrace();rn rn rn rn return null;[/code]rnrn错误如下:rn[code=perl]java.sql.SQLException: ORA-00911: 无效字符rn Query: insert into message(id, name, title, content,time, email)values(seq_messg.nextval,?,?,?,?,?); Parameters: [s, bc, a, 2014-11-29 10:06:11, x]rn at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)[/code]
oracle数据库插入特殊字符‘&’
[code=&quot;java&quot;] insert into cust_code values('CS13K' || chr(ascii('&amp;')) || 'L'); 保存到数据库的值为:CS13K&amp;L [/code]
Oracle数据库插入小数的问题
用SQL语句插入一行数据时,有的字段是小数;但是在数据库里面看到Oracle自动四舍五入了。现在要保留小数或者保留一定的小数位数,该怎么办?Oracle数据库该怎么设置?
Oracle数据库插入性能问题
我写了一个shell脚本,用sqlloader把文本文档中的数据导入数据库中,然后设置crontab让脚本每20分钟跑一次,但是如果数据量很大,有可能导致下次脚本运行的时候,上次脚本还没运行完,导致出现很多个进程,当然,这有可能是服务器硬件性能问题,我想问的是,有没有办法,从脚本入手,解决这个问题啊?
oracle数据库插入报错
insert into a values('1','1',....);rn报错:表或视图不存在rnrnrn insert into maximo.a values('1','1',.....);rnrn成功,这是什么原因,第一次用祭祀数据库。
数据插入oracle数据库异常捕获
现在我有一string数组,然后通过变量绑定进行批量插入,插入失败则回滚。问题是:如果碰到插入异常,我catch到了之后如何判断是在哪一行插入失败的?
oracle数据库的插入和更新
用的ADO连接的数据库,现在要把数据导入oracle数据库中,首先要判断oracle数据库中是否存在该记录,不存在插入,存在的话更新,怎么用代码实现,另外通过delphi向oracle插入某一个字段的一个值怎么写?谢谢各位高手,如果有代码的话,ietingyu@163.com谢谢各位
Oracle数据库多表插入
一、使用背景    当我们需要根据不同条件将一个子查询结果集的数据分别插入不同表中时可以使用多表插入,快速插入数据记录。二、如何使用1、在此我新建三个表用于存储满足不同条件的数据CREATE TABLE small_customers( customer_id VARCHAR2(16), sum_orders NUMBER(12, 2) ); CREATE TABLE...
Oracle数据库Clobl类型的插入
int id =1; PreparedStatement ps = conn.prepareStatement(&quot;select knowledge_SEQ.nextval from dual&quot;); ResultSet rs = ps.executeQuery(); if (rs.next()) {// 查询序列值:Id id = rs.getInt(1); } ...
中文插入oracle数据库乱码问题?
数据 库:Oracle9(字符集:JAPANESE_JAPAN.JA16SJIS)rn开发工具:Microsoft Visual Studio 2008rn开发语言:VB.netrn问题现象:通过程序向数据库中加入中文字符串时,出现乱码‘?’。rn例如:‘刚才’->‘?才’。rn初步怀疑是:Microsoft Visual Studio 2008的字符集与Oracle9的字符集不一致,如果改为SQL Server 2005的话就没有出现乱码现象。rn由于能力所限,无法解决,请各位大侠指点。
C# 插入ORACLE数据库系统时间
我在窗体中设置了一个TEXTBOX1rnTEXTBOX1获取了当前的系统时间rnrninsert into表中的时候去TEXTBOX1.text值去插入表中的操作时间字段时,一直提示ora-01861文字与格式字符串不匹配错误rnrn目前知道是时间格式插入数据库时出的错误,但是不知道怎么解决rnrn希望大虾赐教
oracle数据库插入日期时间
首先,我是这样建表的:rncreate table test_01(rn t_name varchar2(20) primary key,rn t_property varchar2(20),rn t_hard number(3),rn t_time Datern);rnrn接着,我在表中插入数据:rninsert into test_01 rn values('boss习','boss','很难',to_date('2013-06-11 11:11:11','YYYY-MM-DD HH24:MI:SS'));rnrn结果出错,报错误为:ora-01722 无效字符!!!rnrn----------------------分割------------------------------rnrn我现在以下问题:rn1、能不能修改个正确的插入代码我看看!rn2、讲解下原理rn3、有时间带一个插入本地时间。rnrn在这里,先谢谢了!!!!!rn
导入Excel表格插入Oracle数据库
文档分为2部分,前台JS主要调用导入Excel表格页面的jQuery语句和导入Excel表格页面。后台主要是获取Excel中数据和根据获取的数据处理业务
Oracle数据库sql插入随机数
假如设置age为1到1000之内的随机数insert into user(name,age) values("小明",trunc(DBMS_RANDOM.value(1,1000)))
向Oracle数据库插入日期
sql语句 :update 表名 a set a.rq= to_date('2017-03-13','yyyy-MM-dd') where a.id= '1'; java用字符串拼接插入
datatable如何插入到ACCESS中
我在SQLSERVER中读出一些表的信息到一个DATASET中,请问我如何把这些记录插入到对应的ACCESS中那??rn若是用一条一条的插入的话需要用四重循环,请问还有没有其他的方法那???rn我想实现的操作就是把SQLSERVER中的表导入到ACCESS中,有没有简单的方法。麻烦各位高手指教!!!
DataTable中插入一行的问题!!
怎样在一个DataTable的中间而不是最后插入一行??
求助:DataTable插入新行,异常~~~
DataRow dr = dt.NewRow(); rn dr.BeginEdit();rn fillSingleRecord(FReader, dr); rn dr.EndEdit();rn dt.Rows.Add(dr);//这行有异常rnrn异常:未将对象引用设置到对象的实例rn 在 System.Data.NameNode.Eval(DataRow row, DataRowVersion version)rn 在 System.Data.BinaryNode.Eval(ExpressionNode expr, DataRow row, DataRowVersion version, Int32[] recordNos)rn 在 System.Data.BinaryNode.EvalBinaryOp(Int32 op, ExpressionNode left, ExpressionNode right, DataRow row, DataRowVersion version, Int32[] recordNos)rn 在 System.Data.BinaryNode.Eval(DataRow row, DataRowVersion version)rn 在 System.Data.DataExpression.Invoke(DataRow row, DataRowVersion version)rn 在 System.Data.Index.AcceptRecord(Int32 record, IFilter filter)rn 在 System.Data.Index.ApplyChangeAction(Int32 record, Int32 action, Int32 changeRecord)rn 在 System.Data.DataTable.RecordStateChanged(Int32 record1, DataViewRowState oldState1, DataViewRowState newState1, Int32 record2, DataViewRowState oldState2, DataViewRowState newState2)rn 在 System.Data.DataTable.SetNewRecordWorker(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge, Int32 position, Boolean fireEvent, Exception& deferredException)rn 在 System.Data.DataTable.InsertRow(DataRow row, Int64 proposedID, Int32 pos, Boolean fireEvent)rn 在 System.Data.DataRowCollection.Add(DataRow row)rnrnrn这个异常应该和DataTable的过滤字符串有关,如果DefaultView.RowFilter属性有值。就报上述异常。rn如果不过滤,DefaultView.RowFilter为null或空字符串。正常不报错。rnrn需求是要取得过滤后的数据,怎么办?
在DataTable的指定位置插入新的一列
请问在DataTable的指定位置怎么插入新的一列啊,请各们大虾帮帮忙,小弟感激涕淋!!!!
如何将整个DataTable插入数据库。
我用代码创建一个与数据库结构相同的DataTable。然后向DataTable中插入几行数据,有没有方法将这个DataTable一次性插入数据库啊?
如何将DataTable数据插入到数据库
DataTable 有两个字段,name, address,现在已经在表中保存6条数据。rn数据库的 user 表有4个字段 id, name, address, time.其中id是数据库默认的自增加字段,time是插入新数据时的时间.rn现在想将DataTable的6条数据批量插入到数据库,看了其他贴,感觉有些复杂,请问有什么比较简单的做法,做到效率最高?没有直接将表格数据插入的方法么?
DataTable类型数据插入到数据库
现有一个DataTable类型数据dtrnrn怎么把dt中的数据插入到表table1中?rnrn最简单的方法。。
DataTable的问题:如何插入一列
例如:rndataTable1.columns("aa")rndataTable1.columns("bb")rndataTable1.columns("cc")rn插入后rndataTable1.columns("aa")rndataTable1.columns("bb")rndataTable1.columns("uuuuuuuuuuuuuuuuuuuuuuuu")rndataTable1.columns("cc")rn请高手指教!!!!!!!!!!!!!!!!!!!!!!!!!!!rn
datatable怎么插入到dataset中?
例如:rnpublic shared function myData() as datasetrndim ds as datasetrnrn......rnrntryrnmyTable()rnrn......rnrncatch e as exceptionrnend tryrnrnreturn dsrnend fuctionrnrnprivate shared fubction myTable() as datatablerndim dt as datatablernreturn dtrnend functionrnrnrn怎么样把返回的dt方到ds中,好像只有一句话?!
oracle数据库为什么插入不了数据?
我的oracle数据库不能insert记录到表里。。rnrn有人说是log满了。。但我不知道怎么清log。rn还有。。是不是表空间满了??rnrn磁盘空间足够。rnrn
oracle数据库clob字段的读取和插入
读取代码如下:rnDim tempconet,contentrntempconet=rs("introduce").GetChunk(1024)rnwhile tempconet & "" <> ""rncontent=content & tempconetrntempconet=rs("introduce").GetChunk(1024)rnwendrnrn但是报如下错误:rnROW-00060: 内部错误: [dahgetlob,2] rnrn请问如何改进
Excel表的Oracle数据库插入工具
把EXCEL表的数据插入到oracle数据中(源代码)
oracle数据库做定时任务(插入) 笔记
--创建测试表 create table test_user(name varchar2(20),age int,addr varchar2(50)); --创建一个自定义过程 create or replace procedure test_procedureas  is begin  insert into test_user values('张三',23,'北京');
怎样把单引号插入Oracle数据库?
应该通过什么方法对它进行处理?
如何提高Oracle数据库的插入速度?
如果我建了一个足够大的表空间,如果在现有基础上提高Oracle的插入速度?比如:我现在向Oracle插入1W条数据用了0.23秒,如何在现有基础上提高之?一百万条呢?
急!中文字符无法插入Oracle数据库
我需要把"郭彧"插入到数据库中,但是总是报错,那位能告诉我怎么解决啊?rnrn这句就会报错:rnSQL> insert into t_jbxx_jbxx (ryid,xm) values (1,'郭彧');rnERROR:rnORA-01756: quoted string not properly terminatedrnrn这句就可以了:rnSQL> insert into t_jbxx_jbxx (ryid,xm) values (1,'郭彧国');rnrn1 row created.rnrnrn我的Oracle版本是Oracle8 Enterprise Edition Release 8.0.4.3.0rn字符集为AMERICAN_AMERICA.ZHS16CGB231280rnrn先谢了!
往ORACLE数据库中插入主键
 数据库中主键是唯一约束条件。同时可以设定不为空。   今天项目中碰到问题,就是往数据库中插入数据,但是没有设定主键值;这样就必须自己去做判断,主键要唯一。   自己给定一个方法去执行,就是用当前的时间去判断,获取小时甚至分秒都可以;这样主键肯定是唯一的了。   方法: function getOid(){ var today = new Date();//申明一个时间对象...
oracle数据库高效插入千万条数据
向ACCOUNTING_VOUCHER 表中插入千万条数据     思路:            1.新建一张和ACCOUNTING_VOUCHER数据库表结构一致的临时表,ACCOUNTING_VOUCHER_TEMP         2.向临时表ACCOUNTING_VOUCHER_TEMP中插入10条数据        3.使用insert select的方式做表复制   注意事项...
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数