public void MultiInsertData(DataSet ds)
{
string connt = "Oracle的连接字符串";
string sql = "select id,name,… from tablename";必须与ds中的一致
DataTable dt = dsDefaults[0];
OracleConnection conn = new OracleConnection(connstr);
OracleCommand cmd = new OracleCommand(sql, conn);
connOpen();
OracleDataAdapter da = new OracleDataAdapter(sqlcmd);
OracleCommandBuilder cb = new OracleCommandBuilder(sqlda);
daUpdate(dt);
connClose();
sqlconnDispose();
}
用这个批量进行导入,速度快,而且方便呀
那你直接用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:\datadmp
需要注意的是,你要导入的表的表空间所属的用户和密码必须和你要导入到的表空间所属的用户和密码相同,就是你导出数据时用的哪个用户,导入时也用哪个用户,
2)
如果没有这个用户,创建用户命令如下:
以sysdba 进入sqlplus,
create user identified by password;
grant dba to user;
如何将excel数据批量导入sql数据库
请参阅
将EXCEL数据表导入到SQL中
:jingyanbaidu/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'Masterxp_CmdShell ''bcp '+@dbname+'DBOTABLENAME in C:\CSVFILETXT -c -S'+@@servername+' -USA -P'''
execute sp_executesql @SqlString
GO
该过程将C:\CSVFILETXT 导入到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;
SystemWindowsFormsOpenFileDialog fd = new OpenFileDialog();
if (fdShowDialog() == DialogResultOK){TransferData(fdFileName, sheet1″, connString);}}public void TransferData(string excelFile, string sheetName, string connectionString){DataSet ds = new DataSet();try{获取全部数据
string strConn = Provider=MicrosoftJetOLEDB40; + Data Source= + excelFile + ; + Extended Properties=Excel 80;;
OleDbConnection conn = new OleDbConnection(strConn);
connOpen();
string strExcel = ;
OleDbDataAdapter myCommand = null;
strExcel = stringFormat(select from [{0}$], sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommandFill(ds, sheetName);
如果目标表不存在则创建
string strSql = stringFormat(if object_id(’{0}’) is null create table {0}(, sheetName);
foreach (SystemDataDataColumn c in dsTables[0]Columns){strSql += stringFormat([{0}] varchar(255),, cColumnName);}strSql = strSqlTrim(’,') + );
using (SystemDataSqlClientSqlConnection sqlconn = new SystemDataSqlClientSqlConnection(connectionString)){sqlconnOpen();
SystemDataSqlClientSqlCommand mand = sqlconnCreateCommand();
mandCommandText = strSql;
mandExecuteNonQuery();
sqlconnClose();}用bcp导入数据
using (SystemDataSqlClientSqlBulkCopy bcp = new SystemDataSqlClientSqlBulkCopy(connectionString)){bcpSqlRowsCopied += new SystemDataSqlClientSqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcpBatchSize = 100;每次传输的行数
bcpNotifyAfter = 100;进度提示的行数
bcpDestinationTableName = sheetName;目标表
thisUpdate();}}}上面的TransferData基本可以直接使用,如果要考虑周全的话,可以用oledb来获取excel的表结构,并且加入ColumnMappings来设置对照字段,这样效果就完全可以做到和sqlserver的dts相同的效果了。
大型的数据库开发中常常遇到数据源是平面文件的情况 对于这样的数据源 无法使用数据库对其数据进行有效的管理 本文介绍几种常见的数据导入的方法 希望能够给读者以启迪 另外 本文所涉及到的数据库均为ORACLE数据库 其实对于其他数据库而言 方法类似 一 Sql:Loader 该方法是Oracle数据库下数据导入的最重要的方法之一 该工具由Oracle客户端提供 其基本工作原理是 首先要针对数据源文件制作一个控制文件 控制文件是用来解释如何对源文件进行解析 其中需要包含源文件的数据格式 目标数据库的字段等信息 一个典型的控制文件为如下形式 LOAD DATAINFILE /ora i/fengjie/agent/data/ipaagentdetail txt TRUNCATEINTO TABLE fj_ipa_agentdetailfields terminated trailing nullcols( AGENT_NO char AGENT_NAME char AGENT_ADDRESS char AGENT_LINKNUM char AGENT_LINKMAN char)其中 INFILE /ora i/fengjie/agent/data/ipaagentdetail txt 指明所要导入的源文件 其实源文件也可以直接通过命令行来输入获得 fj_ipa_agentdetail为目标表的名字 fields terminated 是指源文件的各个字段是以逗号分隔 trailing nullcols表示遇到空字段依然写入到数据库表中 最后这5个字段是目标数据库表的字段结构 通过上面这个典型的控制文件的格式分析可知 控制文件需要与源文件的格式信息一致 否则导入数据会出现异常 除了控制以外 sqlloader的还需要数据文件 即源文件 根据格式的不同 源文件可以分为固定字段长度和有分隔符这两大类 这里将分别说明这两种情况 固定字段长度的文本文件就是每个字段拥有固定的字段长度 比如 有分隔符的文本文件就是每个字段都有相同的分隔符分隔 比如 上海长途电信综合开发公司 南京东路 号 室 上海桦奇通讯科技有限公司 武宁路 号 室 上海邦正科技发展有限公司 南京东路 号 室对于上述两种文件格式sqlloader均可以做处理 下面就前面那个固定长度的文本来举例说明 由于该文本只有两个字段 一个为设备号 一个是区局编号 两者的长度分别为20和5 那么可以编制控制文件如下 LOAD DATAINFILE /ora i/fengjie/agent/data/ipaagent txt TRUNCATEINTO TABLE fj_ipa_agent( DEVNO POSITION( : ) CHAR BRANCH_NO POSITION( : ) CHAR)其中 /ora i/fengjie/agent/data/ipaagent txt 为该文件的完全路径 POSITION(M:N)表示该字段是从位置M到位置N 对于有分隔符的数据文件 前面已经有一个例子 这里就不再赘述了 总之 使用SqlLoader能够轻松将数据文件导入到数据库中 这种方法也是最常用的方法 二 使用专业的数据抽取工具 目前在数据仓库领域中 数据抽取与装载(ETL)是一重要的技术 这一技术对于一些大的数据文件或者文件数量较多尤其适合 这里简单介绍目前一款主流的数据抽取工具――Informatica 该工具主要采用图形界面进行编程 其主要工作流程是 首先将源数据文件的结构(格式)导入为Informatica里 然后根据业务规则对该结构进行一定的转换(transformation) 最终导入到目标表中 以上过程仅仅只是做了一个从源到目标的映射 数据的实际抽取与装载需要在工作流(workflow)里进行 使用专业的数据抽取工具 可以结合业务逻辑对多个源数据进行join union insect等 *** 作 适合于大型数据库和数据仓库 三 使用Access工具导入 可以直接在Access里选择 打开 文本文件 这样按照向导来导入一个文本文件到Access数据库中 然后使用编程的方法将其导入到最终的目标数据库中 这种方法虽然烦琐 但是其对系统的软件配置要求相对较低 所以也是有一定的使用范围 四 小结 总之 平面文件转化为数据库格式有利于数据的处理 显然 数据库强大的数据处理能力比直接进行文件I/O效率高出很多 希望本文能够对该领域做一个抛砖引玉的作用 lishixinzhi/Article/program/Oracle/201311/18530
这个如果要自己管理数据的话还是挺有难度的。
不过借用数据库也许可以折中一下,把每个文档的数据放到数据库的一个字段中,然后用like'%%'匹配。(下策^_^)
推荐使用桌面搜索
方法/步骤
1
1)打开你的sql server,找到要导入数据的数据库,右键——〉任务——〉导入数据
2
2)按照图示选择要导入的excel
3
3)选择导入到哪个数据库
4
4)导入excel选择第一项即可,选择第二项是表与表直接内容的筛选复制
5
5)选择源表和源视图
6
6)编辑映射页面
7
7)继续下一步,点击完成,看到传输数据完成页面
8
8)进入数据库刷新,查看刚刚导入的表,完成!
1,新建文件testctl 将下面的内容复制到文件中
----------------------
Load data
Infile 'F:\BI\017 端到端报表\SQLLDR数据导入\testcsv' --数据源文件名称
Append --append在表后追加,insert插入空表,replace替代原有内容
Into table ctltest --要导入的数据库表名称
--[when id = id_memo] --过滤条件
Fields terminated by ',' --字段分隔符
(a1,a2,a3,a4,a5) --字段名称列表
以上就是关于c#如何将dataset中的数据批量导入oracle数据库全部的内容,包括:c#如何将dataset中的数据批量导入oracle数据库、将文件导入到数据库中的方法小结、文本文件导入到数据库中的几种方法(如何将文本文件导入数据库表中)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)