批处理 数据库中已存在表空间 怎么把资料批量导入进去 oracle

批处理 数据库中已存在表空间 怎么把资料批量导入进去 oracle,第1张

光有表空间是不行的。

有DMP的情况下,知道需要导入哪些用户下的数据,用imp命令导入。步骤是:

1、建立导入数据的数据库用户

2、用sql/plus登陆该用户,输入imp回车,然后按提示 *** 作就行,中间有些询问参数设置的,基本不用管,只要指定好需导入的用户和表就行,如果要导入所有的用户及用户下的所有表,在选用户和选表的地方直接打回车就行。

没DMP的情况下,要直接导入EXL之类的资料,通常需要开发个前台程序来导,这个就不能在这里回答了。但是EXL或ACCESS数据可以用plsqldeveloper工具简单导入,步骤是:

1、建立导入数据的数据库用户及要保存资料的表,表字段要和EXL/ACCESS上的列一致

2、清理EXL/ACCESS文件中不需要的空格(特别是EXL文件,经常会有大量冗余的空格保存在列中,不清除很难导入),通常用office提供的查找替换就可以处理了。

3、在plsqldeveloper中打开一个sql窗口,用“select from 表名for update”的方法打开你要保存资料的表,并且把下面数据窗中左上角那个"edit data"的锁点开,并点一下锁右边的加号,增加一列

4、用OFFICE打开你要导入的EXL/ACCESS文件,全选你要导入的数据并复制。注意左边要多选一列,如果你要从第一列开始选,那你就要在原文件的第一列前再多插入一个空列,并在选择数据时把这个空列也选进去,因为粘到pl/sql developer时第一列会被当作行号

5、在pl/sql developer中选中你增加的那一列,粘贴数据。

6、粘贴完成后点数据窗口左上方的勾(post change),提交更改。此时如果有数据不合法,会提示错误,需要你修正后重做

7、提交成功后,按F10(commit),保存更改。完成

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 command = sqlconnCreateCommand();commandCommandText = strSql;commandExecuteNonQuery();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相同的效果了。

可以用iis7服务器管理工具

压缩包自带导入格式,可以批量导入服务器信息,官网有详细导入教程。

iis7服务器管理工具可以批量管理windows及linux系统的服务器及vps,还是vnc及ftp的客户端。针对windows、linux、vnc、ftp服务器都可以实现批量导入的功能。数据恢复功能可以一键恢复历史服务器信息,是不是很方便呢?

希望可以帮到你哦。

以上就是关于批处理 数据库中已存在表空间 怎么把资料批量导入进去 oracle全部的内容,包括:批处理 数据库中已存在表空间 怎么把资料批量导入进去 oracle、转载:如何将Excel数据批量导入SQL数据库、如何在服务器后台导入批量数据到数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9873107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存