原文地址:http://www.cnblogs.com/alxc/archive/2011/03/25/1995279.html

 因为喜欢新的东西,所以基本上电脑的开发工具都是最新的,oracle也装了11g R2,但是同事同学不是11g R1就是10G的,从我这里导出去的dmp文件在他们那边导进去,都显示:

  IMP-00010:不是有效的导出文件,头部验证失败

  为了这个问题一直苦恼,差点就想卸掉11g然后装10g了,后来想想,头部验证,那么头部到底是什么,用Notepad++查看了dmp文件,发现头部真的显示一些东西:

  11g R2:V11.02.00

  11g R1:V11.01.00

  10g:V10.02.01

  把版本改成对方机子数据库版本,执行imp就不再报错了。

  考虑到如果文件过大,可能打不开导致死机,做个小程序。(C# WINFORM)

  

  2个按钮的事件:

  

private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.InitialDirectory = Application.ExecutablePath;
if (file.ShowDialog() == DialogResult.OK)
{
String path =label11.Text= file.FileName;
FileStream fs = File.OpenRead(path);
fs.Seek(, SeekOrigin.Begin);
byte[] byData = new byte[];
fs.Read(byData, , );
string charData = new UTF8Encoding(true).GetString(byData, , byData.Length);
string[] da = System.Text.RegularExpressions.Regex.Split(charData, @":V", RegexOptions.IgnoreCase);
Regex r = new Regex(@":V\d{2}\.\d{2}\.\d{2}");
Match m = r.Match(charData);
label9.Text = m.Index.ToString ();
label10.Text = m.Length.ToString();
textBox1.Text = System.Text.RegularExpressions.Regex.Split(m.Value, @":V", RegexOptions.IgnoreCase)[];
fs.Close();
}
} private void button2_Click(object sender, EventArgs e)
{
Regex r = new Regex(@"\d{2}\.\d{2}\.\d{2}");
Match m = r.Match(textBox1.Text);
if (m.Success)
{
FileStream fs = File.OpenWrite(label11.Text);
fs.Seek(int.Parse(label9.Text.ToString())+, SeekOrigin.Begin);
Byte[] info = new UTF8Encoding(true).GetBytes(textBox1.Text);
fs.Write(info, , info.Length);       fs.Close();
MessageBox.Show("版本修改成功。");
}
else
MessageBox.Show("版本格式错误。");
}

Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头部验证失败)的更多相关文章

  1. oracle数据库备份、还原 (如何将Oracle 11g备份的dat文件导入到10g数据库里面)

    如何将Oracle 11g备份的dat文件导入到10g数据库里面 解决方法:      导出的时候后面加上目标数据库的版本号   导出: 在SQL plus下执行:create or replace  ...

  2. Oracle错误IMP-00010: 不是有效的导出文件, 头部验证失败 分类: Oracle 2015-07-09 13:56 20人阅读 评论(0) 收藏

    Oracle 11g的dmp备份文件导入到Oracle 10g,出现错误信息: Import: Release 10.2.0.1.0 - Production on 星期四 7月 9 13:47:04 ...

  3. oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败

    头部验证失败是由于版本号不同所致,经试验可以通过如下方法进行修改:用notepad++工具打开dmp文件,可以看到头部信息 --TEXPORT:V11.01.00,即为源数据库的版本号,将其修改为目的 ...

  4. Oracle高版本导出dmp导入Oracle低版本报错:"不是有效的导出文件、头部验证失败"解决方法

    从Oracle高版本中导出dmp,然后导入到Oracle低版本时会报错:"不是有效的导出文件.头部验证失败",解决方法: 方法一:下载软件:AlxcTools,打开后选择要修改的文 ...

  5. oracle导入时提示IMP-00010:不是有效的导出文件,头部验证失败

    oracle导入时提示IMP-00010:不是有效的导出文件,头部验证失败: 原因分析:导出的oracle的版本与导入的oracle数据库的版本不一致: 可直接将dmp文件用notepad++打开修改 ...

  6. oracle 11g 32&64位导出 导入到Oracle10g 32位

    想导入一个oracle11g的数据库到自己本地电脑上,直接exp导出的话拿到自己电脑上提示错误, 于是在网上找方法 方法如下 : 一.在11g服务器上,使用expdp命令备份数据 11g 导出语句:E ...

  7. oracle11g的dmp文件导入oracle10g时报错:头部验证失败

    因为本机安装的10g版本的Oracle,需要导入一个11g版本导出的dmp文件,Oracle数据库版本之间存在兼容的问题,低版本的库不能导入高版本的dmp文件,在CMD中导入dmp文件总是出现如下错误 ...

  8. Oracle 11g 导库导不出空表问题

    Oracle11g 会遇到这样的问题,用exp整库导出的时候,会遇到这样的问题,库里的空表没办法导出 select * from all_all_tables aa where aa.owner='U ...

  9. [转]oracle导入提示“IMP-00010:不是有效的导出文件,头部验证失败”的解决方案

    这是由于导出的dmp文件与导入的数据库的版本不同造成的用Notepad++查看了dmp文件,在头部具修改成你将导入目标数据库的版本号以下对应的版本号: 11g R2:V11.02.00 11g R1: ...

随机推荐

  1. PMU 简介

    目录 1:PMIC2:Battery管理3:功耗4:常见问题5:参考文献 PMIC[MT6322]    Source code structure Build option Battery char ...

  2. JPA框架下使用纯粹的原生SQL

    最近遇到一个需求,查询数据库中对应表的字段是动态的,项目使用的框架使用JPA+Spring Boot,JPA自带原生SQL支持的传入参数是强类型的,无法用于查询语句的字段更改,因为插入字符串的话带有单 ...

  3. mysql获取行号的方法

    1.不排序 语句: ) ) ) b,bigquestion 结果:  2.排序的 语句 ) ) ) b,bigquestion order by bigquestion.bigQuestionSequ ...

  4. js闭包的用途[转载]

    通过使用闭包,我们可以做很多事情.比如模拟面向对象的代码风格:更优雅,更简洁的表达出代码:在某些方面提升代码的执行效率. 1 匿名自执行函数我们知道所有的变量,如果不加上var关键字,则默认的会添加到 ...

  5. Mysqli的常用函数

    Mysqli的常用函数 连接数据库: $res = @mysqli_connect($host,$username,$pass,$db_name); if (mysqli_connect_errno( ...

  6. webmagic使用手册

    https://my.oschina.net/flashsword/blog/180623 重点 SeleniumDownloader 对于一些Javascript动态加载的网页,仅仅使用http模拟 ...

  7. POJ 2749 2SAT判定+二分

    题意:图上n个点,使每个点都与俩个中转点的其中一个相连(二选一,典型2-sat),并使任意两点最大 距离最小(最大最小,2分答案),有些点相互hata,不能选同一个中转点,有些点相互LOVE,必需选相 ...

  8. androidstudio Cannot resolve symbol 'xxx'

    Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 ...

  9. 转:TLV 格式及编解码示例

    TLV是一种可变格式,意思就是: Type类型, Lenght长度,Value值: Type和Length的长度固定,一般那是2.4个字节(这里统一采用4个字节): Value的长度有Length指定 ...

  10. Asp.net core使用MediatR进程内发布/订阅

    1.背景 最近,一个工作了一个月的同事离职了,所做的东西怼了过来.一看代码,惨不忍睹,一个方法六七百行,啥也不说了吧,实在没法儿说.介绍下业务场景吧,一个公共操作A,业务中各个地方都会做A操作,正常人 ...