Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头文件验证失败)
2013-11-10 00:26
1386 查看
Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头部验证失败)
因为服务器装了oracle 11G,本地装了oracle 10g,从服务器上导出的dmp文件在放到本地导入时,都显示:
IMP-00010:不是有效的导出文件,头部验证失败
后来在网上找了一哈资料,看到以下内容,下载下来试着修改了一下,还真可以导入了。
11g R2:V11.02.00
11g R1:V11.01.00
10g:V10.02.01
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/11/7f08dfd67d0385112e96ececf06612e8)
把版本改成对方机子数据库版本,执行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("版本格式错误。");
}
我已上传附件(下载)。大家可根据图片执行软件完成。
因为服务器装了oracle 11G,本地装了oracle 10g,从服务器上导出的dmp文件在放到本地导入时,都显示:
IMP-00010:不是有效的导出文件,头部验证失败
后来在网上找了一哈资料,看到以下内容,下载下来试着修改了一下,还真可以导入了。
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("版本格式错误。");
}
我已上传附件(下载)。大家可根据图片执行软件完成。
相关文章推荐
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- mysql问答汇集
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle 数据库 临时数据的处理方法
- 最近比较流行的数据库挂马
- 重装主控服务器后,数据库连接失败的解决办法:请正确还原数据库。
- 九种防MDB数据库被下载的方法小结
- asp向数据库插入数据的方法rs
- 浅析C# web访问mysql数据库-整理归纳总结
- SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
- CMD命令操作MSSQL2005数据库(命令整理)