由于项目需要要将以前Oracle的数据库转化为SQL Server,今天利用SQL Server的DTD进行数据库的迁移,但导入以后发现只导入了表结构和数据,而表的一些主键约束都没导过来,感觉很郁闷,而手头又没有好的迁移工具,如Erwin,所以动手写了个小工具,基本实现了主键的转移,主要代码如下:

主要控件:

ADOConnOrcale: TADOConnection;  //连接Oracle

ADOConnSQLServer: TADOConnection; //连接SQL Server

O1: TADOQuery;  //连接Oracle

S1: TADOQuery; //连接SQL Server

S2: TADOQuery; //连接SQL Server

ProgressBar1: TProgressBar;  //进度条

Memo1: TMemo;  //显示出错信息

EdtServer: TEdit;  //服务器

EdtDataBase: TEdit; //数据库名称

EdtUser: TEdit;  //用户名

EdtPass: TEdit;  //口令

Button1: TButton;  //执行按钮

//常量

const

ORAConnStr='Provider=MSDAORA.1;Data Source=%S;User ID=%S;Password=%S;Persist Security Info=True';

SQLConnStr='Provider=SQLOLEDB.1;Data Source=%S;Initial Catalog=%S;User ID=%S;Password=%S;Persist Security Info=False';

在执行前先进行Oracle和SQL Server数据库的连接。

连接Oracle:

ADOConnOrcale.ConnectionString :=Format(ORAConnStr,[trim(EdtDataBase.Text),

trim(EdtUser.Text),trim(EdtPass.Text)]);

try

ADOConnOrcale.Open;

MsgBox('Oracle数据库连接成功!');

Except

MsgBox('Oracle数据库连接失败!');

end;

连接SQL Server:

ADOConnSQLServer.ConnectionString :=Format(SQLConnStr,[trim(EdtServer.Text),

trim(EdtDataBase.Text),trim(EdtUser.Text),trim(EdtPass.Text)]);

sql数据迁移到oracle数据库,从Oracle到SQL Server数据库主键的迁移相关推荐

  1. Oracle数据库:oracle数据表格dmp,sql,pde格式导入与导出,视图、序列、索引等对象的导出,oracle完结,后续开启mysql的学习

    Oracle数据库:oracle数据表格dmp,sql,pde格式导入与导出,视图.序列.索引等对象的导出,oracle完结,后续开启mysql的学习 2022找工作是学历.能力和运气的超强结合体,遇 ...

  2. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  3. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  4. Oracle数据库查看表空间sql语句、查看Oracle数据库表空间剩余 、修改表空间、库备份

    一  Oracle数据库查看表空间sql语句 1.oracle查看表空间当前用户 SQL>  select  username,default_tablespace  from user_use ...

  5. oracle set feedback off,Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思...

    本文主要向大家介绍了Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. mpt 输出 ...

  6. Oracle数据库使用Analyze提升sql性能

    Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...

  7. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复

    示例一:表空间的数据文件被误删除 open状态下删除表空间对应的所有数据文件. 在open状态下使用alter tablespace ... offline for recover 脱机表空间. 使用 ...

  8. oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法

    之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成 ...

  9. winform执行oracle语句,C#中的Winform应用程序连接远程Oracle数据库的配置文件及SQL语句的写法...

    远程连接Oracle数据库的配置文件及sql语句 近期,应朋友的要求,用C#语言开发了一个winform应用程序,要求的是连接到远程的Oracle数据库,用惯了SQL Server的我突然有点懵,然后 ...

  10. oracle数据库等级,[数据库]Oracle数据库建表并用SQL编程分等级

    [数据库]Oracle数据库建表并用SQL编程分等级 0 2016-06-15 23:00:13 --创建学生表 create table XS_543 ( XH char(6) not null , ...

最新文章

  1. DB time抖动的原因分析
  2. UI组件之 ProgressBar及其子类(一)ProgressBar进度条的使用
  3. 双向链表实现电话簿C++代码实现
  4. Goodbye 2017 B
  5. 遗传算法 优化 工具箱 matlab pareto front,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
  6. go 链路追踪_使用opentracing,jaeger实现golang链路追踪
  7. 结构型设计模式在公司项目中的运用实践
  8. android下测试方法及junit单元测试框架配置方法
  9. 第 19 次 CCF CSP 认证 202006-1 线性分类器(line)
  10. Android上传图片的两种方式
  11. php5.6 mysql被重置_php5.6连接mysql8出现错误解决方法
  12. springboot+shiro+cas实现单点登录之cas server搭建
  13. Centos7升级gcc版本方法之一使用scl软件集
  14. javascript的getElementByTagName
  15. [转][python] 常用正则表达式爬取网页信息及分析HTML标签总结
  16. Tomcat关于DH算法问题解决办法
  17. 152位高校教师接龙晒工资,给打算入高校的博士们参考!
  18. 鼠标指针乱跑的解决方案
  19. Android手机端编程开发软件合集(一)
  20. 传递关系的复合不一定是传递的

热门文章

  1. Cockroach DB 1.0发布
  2. java读取配置文件properties
  3. HadoopIO和javaIO的区别
  4. 【SpringBoot】SpringBoot 操作 Excel 完整示例(含源码GitHub)
  5. 从印度兵力分布聊聊Mybatis中#和$的区别
  6. 并行数据库 分布式数据库
  7. 【解题报告】Leecode 2059. 转化数字的最小运算数
  8. 1017 Queueing at Bank (25 分)_27行代码AC
  9. Redis单线程执行流程
  10. Happens-Before的7个规则