dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...
c#如何將dataset中的數據批量導入oracle數據庫以下文字資料是由(歷史新知網www.lishixinzhi.com)小編為大家搜集整理后發布的內容,讓我們趕快一起來看一下吧!
c#如何將dataset中的數據批量導入oracle數據庫
public void MultiInsertData(DataSet ds)
{
string connt = "Oracle的連接字符串";
string sql = "select id,name,… from tablename";必須與ds中的一致
DataTable dt = ds.Defaults[0];
OracleConnection conn = new OracleConnection(connstr);
OracleCommand cmd = new OracleCommand(sql, conn);
conn.Open();
OracleDataAdapter da = new OracleDataAdapter(sqlcmd);
OracleCommandBuilder cb = new OracleCommandBuilder(sqlda);
da.Update(dt);
conn.Close();
sqlconn.Dispose();
}
用這個批量進行導入,速度快,而且方便呀
那你直接用Excel導入oracle數據庫咯。
我那時50多個字段也還是insert語句實現的,那個Excel有200000條數據,就是循環了一分多鐘都insert進去了。
如何將數據批量導入Oracle數據庫?
先確保你要導入的數據庫SID中有和你導出數據時所用的用戶和密碼.如果沒有請看 2),
1)進入命令控制臺,
輸入:
imp username/password@SID file=/pathURL full=y
其中username為用戶名,password為密碼,pathURL導出數據所在路徑,
如:
impr scott/tiger@orcl file=D:\data.dmp
需要注意的是,你要導入的表的表空間所屬的用戶和密碼必須和你要導入到的表空間所屬的用戶和密碼相同,就是你導出數據時用的哪個用戶,導入時也用哪個用戶,
2)
如果沒有這個用戶,創建用戶命令如下:
以sysdba 進入sqlplus,
create user identified by password;
grant dba to user;
如何將excel數據批量導入sql數據庫
請參閱
將EXCEL數據表導入到SQL中
:jingyan.baidu./article/358570f66145a6ce4724fcba.
如何將excel的數據導入到oracle數據庫
導入Excel表格
1.創建表,表的字段與要導入文件的名稱一致
2.點擊 工具---->ODBC導入器
3.選擇Excel file 點擊連接
4.選擇要導入的文件,點擊確定
5.點擊 到Oracle 在所有者中選擇到自己之前創建的表格 按下回車鍵
查看對應的字段名是否相對應 最后單擊導入
如何將一個txt文檔的數據批量導入到數據庫?
編寫和執行存貯過程:
CREATE PROCEDURE IMPORTTXT
@DBNAME VARCHAR(100)--數據庫名
AS
DECLARE @SQLSTRING NVARCHAR(1000)
Set @SqlString=N'Master..xp_CmdShell ''bcp '+@dbname+'.DBO.TABLENAME in C:\CSVFILE.TXT -c -S'+@@servername+' -USA -P'''
execute sp_executesql @SqlString
GO
該過程將C:\CSVFILE.TXT 導入到TABLENAME表中,要求字段結構相符。TXT文檔要求是以制表符為字段間隔符,換行為記錄間隔。可以直接使用EXCEL導出的“以制表符分隔的文本文檔”,或將文本文檔轉換成該格式。
轉載:如何將Excel數據批量導入SQL數據庫
namespace WindowsApplication2{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){測試,將excel中的sheet1導入到sqlserver中
string connString = server=localhost;uid=sa;pwd=sqlgis;database=master;
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
if (fd.ShowDialog() == DialogResult.OK){TransferData(fd.FileName, sheet1″, connString);}}public void TransferData(string excelFile, string sheetName, string connectionString){DataSet ds = new DataSet();try{獲取全部數據
string strConn = Provider=Microsoft.Jet.OLEDB.4.0; + Data Source= + excelFile + ; + Extended Properties=Excel 8.0;;
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = ;
OleDbDataAdapter myCommand = null;
strExcel = string.Format(select * from [{0}$], sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
如果目標表不存在則創建
string strSql = string.Format(if object_id(’{0}’) is null create table {0}(, sheetName);
foreach (System.Data.DataColumn c in ds.Tables[0].Columns){strSql += string.Format([{0}] varchar(255),, c.ColumnName);}strSql = strSql.Trim(’,') + );
using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString)){sqlconn.Open();
System.Data.SqlClient.SqlCommand mand = sqlconn.CreateCommand();
mand.CommandText = strSql;
mand.ExecuteNonQuery();
sqlconn.Close();}用bcp導入數據
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString)){bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = 100;每次傳輸的行數
bcp.NotifyAfter = 100;進度提示的行數
bcp.DestinationTableName = sheetName;目標表
this.Update();}}}上面的TransferData基本可以直接使用,如果要考慮周全的話,可以用oledb來獲取excel的表結構,并且加入ColumnMappings來設置對照字段,這樣效果就完全可以做到和sqlserver的dts相同的效果了。
分頁:123
總結
以上是生活随笔為你收集整理的dataset中的数据批量导入oracle数据库,c#如何将dataset中的数据批量导入oracle数据库...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle12c视图刷新,12c 物化
- 下一篇: oracle 保留一个记录吗,笔记:Or