博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头部验证失败)...
阅读量:5074 次
发布时间:2019-06-12

本文共 1656 字,大约阅读时间需要 5 分钟。

  因为喜欢新的东西,所以基本上电脑的开发工具都是最新的,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(0, SeekOrigin.Begin);
                byte[] byData = new byte[100];
                fs.Read(byData, 0, 50);
                string charData = new UTF8Encoding(true).GetString(byData, 0, 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)[1];
                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())+2, SeekOrigin.Begin);
                Byte[] info = new UTF8Encoding(true).GetBytes(textBox1.Text);
                fs.Write(info, 0, info.Length);

       fs.Close();

                MessageBox.Show("版本修改成功。");
            }
            else
                MessageBox.Show("版本格式错误。");
        }

 

 

转载于:https://www.cnblogs.com/alxc/archive/2011/03/25/1995279.html

你可能感兴趣的文章
IOS小技巧整理
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
重启rabbitmq服务
查看>>
正则表达式(进阶篇)
查看>>
无人值守安装linux系统
查看>>
【传道】中国首部淘宝卖家演讲公开课:农业本该如此
查看>>
jQuery应用 代码片段
查看>>
MVC+Servlet+mysql+jsp读取数据库信息
查看>>
黑马程序员——2 注释
查看>>
用OGRE1.74搭建游戏框架(三)--加入人物控制和场景
查看>>
转化课-计算机基础及上网过程
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>