请问:如何将一个sql数据库中的数据插入到另一个sql数据库中

请问:如何将一个sql数据库中的数据插入到另一个sql数据库中,第1张

1、启动sql数据服务

2、打开企业管理器,找到你要导出的数据库。

3、按照如下 *** 作:

选中你要导出的数据库→右键→所有任务→导出数据→下一步→下一步→在服务器那里写上你要导入的sql服务器名字

单击刷新按钮

选择要导入到的数据库名→下一步→选择在SQL

Server数据库之间复制对象和数据→下一步→下一步→下一步→完成

补充:

我上面写的是sql导入sql,下面补充下:access导入sql数据库

1、启动sql数据库服务

2、打开企业管理器,找到你要导出的数据库。

3、按照如下 *** 作:

选中你要导出的数据库→右键→所有任务→导出数据→下一步→选择数据源下拉菜单找到Microsoft

Access→在下面的文件名选择你要导入的access数据库→下一步→在服务器那里写上你要导入的sql服务器名字

单击刷新按钮

选择要导入到的数据库名→下一步→选择从原数据库复制表和视图(C)→下一步→下一步→下一步→完成

---

以上,希望对你有所帮助。

如果是大型应用并且数据量确实非常大推荐直接使用ORACLE,不建议从SQL

SERVER后期迁移,因为迁移的成本是非常高的(包括停机成本,测试,以及承担BUG的风险等),并不见得会比数据库之间的差价低。

如果是近TB的数据库,根据应用要求以及设计复杂程度,迁移可能需要一周甚至一个月,注意迁移并不是简单的导入导出,需要定制方案、风险评估、测试等,而测试往往是非常麻烦的

一、推荐使用ORACLE:

若是因为价格原因的话可以先选用标准版的ORACLE,价格较之企业版便宜很多而且直接附带RAC的授权(最高4节点每节点2CPU),性能完全足够用。当然标准版中没有分区以及DATAGUARD之类的选项,但即使没有分区也可以通过分布多个数据文件到不同设备上达到同样的效果,DATAGUARD应用并不是很多,可以直接使用第三方方案代替(例如HA)。

二、使用SQL

SERVER:

数据库的迁移是非常麻烦的事情,SQL

SERVER

到ORACLE也不例外。主要有以下几个问题

1、数据类型差异:

尽管大多数数据类型通用,但仍有专属数据类型,例如ORACLE的LOG

SEGMENT、ROWNUM伪劣等。这些数据类型有其特殊的定义(如SEGMENT),其他的数据库中并没有相应的概念,因此转换可能很复杂。

2、存储过程差异:

SQL

SERVER中是用T-SQL,而ORACLE中使用PL/SQL,两种存储过程尽管语法相似,但其实完全不同。ORACLE的PL/SQL中的很多功能是与ORACLE的特性相关的,并不是简单的语法相似就可以通用的。所以存储过程改写也是一个主要的问题。

3、其他问题:

主要有性能问题,SCHEMA属性,存储属性等

三、解决办法:

如果非要使用SQL

SEREVER,那么需要在设计时注意兼容性问题

1、如非必要,尽量避免使用特殊数据类型,以便于转换

2、同理,在编写T-SQL存储过程时,尽量避免使用一些特有的高级特性,尽量使用通用的语法,这样很多T-SQL都可以不用重写

3、SCHEMA的设计:SQL

SERVER中USER与SCHEMA为一对多,而ORACLE中为一对一且USER与SCHEMA同名,因此避免过于复杂的SCHEMA设计方案

4、如有可能,使用第三方的工具进行迁移也可提高效率

前阵做了下数据库迁移,从Sql Server2005迁移到Oracle

10g,这里说一下迁移的方法。

Sql

Server和Oracle区别比较大,包括语法,字段类型,数据库机制,配置管理方法等等,区别是全方位的,做迁移需要注意很多问题,在迁移过程中也会遇到问题,需要细细处理之。这里说一下数据库结构的迁移,和迁移过程中注意的一些问题。(当然具体的数据库迁移过程中可能问题是不一样的,具体问题具体分析了)

迁移的方法是从Sql Server已有数据库中生成出Oracle的建库脚本,然后在Oracle数据库上执行。用到的生成工具是Power

Designer。

1、打开PD(Power

Designer简称,以下均使用PD),新建一个PDM(物理数据模型),DBMS选择Microsoft SQL

Server2005,Model name起名叫做mssdb。

2、通过逆向工程将现有Sql

Server数据库生成PDM

(1)选择Database->Reverse

Engineer Database,配置数据源,选择要迁移的数据库,输入用户名、密码。

(2)选择数据库,选择用户dbo下的所有表、视图、存储过程、方法、触发器、序列等(由于Sql Server与oracle,数据库概念上的区别,这里不需选择用户、角色)。

点击OK,生成PDM。已经建立过PDM的情况,这一步可以省略。

3、生成Oracle物理数据模型

选择Tools->Generate Physical Data Model

(1)DBMS选择Oracle

10g,输入名称:oradb。

(2)在Configure Model

Options配置中, Model Settings的Table&View界面中,勾选Ignore

identifying owner。Oracle中用户的概念与Sql Server不同,这里忽略owner。

(3)Selection标签,选择需要生成的所有表、视图、外键、存储过程、方法、触发器、序列等。

点击确定,即生成了oracle 的PDM。

注意,在生成PDM的过程中可能不会一帆风顺,有可能会报错(比如提示对象长度超限),这会导致生成失败。这时需要根据具体错误提示做相应修改(可能需要多次调整,没有办法,谁让两者差别这么大的呢)。

4、生成Oracle脚本

与Sql

Server不同的是,在Oracle里表名、字段名全部为大写,若要单独处理为小写,需加上双引号。而PD生成的脚本默认是有双引号的,这里需要修改默认配置,去掉双引号。

然后选择oradb,然后选择Database->Generate

Database,进入数据库生成界面

在Format标签下,去掉勾选Owner prefix,它将省掉建表语句前“dbo”所带来的麻烦;

在Selection标签下,选择要生成脚本的各对象;

在Preview标签下,可以预览预生成的脚本(表较多时,切换会比较慢)。

点击确定,即得到生成的脚本。

5、检查与调整

脚本是PD自动生成的,因为表比较多,在oracle上直接去执行难免会有错误。所以在执行之前需要检查下脚本的正确性。这里提几点需要注意的地方。

(1)Oracle要求表名、字段名等长度最多是30位,而Sql Server没有这个限制,所以可能会有在Sql

Server创建正常的表而在Oracle下会创建失败。

(2)检查一下主键、外键的名称,它们有可能是随机生成的名称。可根据相应规范进行修改。

(3)检查字段名是否用到了Oracle的关键字。比如Sql

Server命名“备注”字段可能会用“comment”、标题用“title”,但comment、title在Oracle中是关键字,不可以做为字段名称。

(4)存储过程、方法是否符合Oracle语法。

(5)Sql

Server有自增字段,而Oracle没有。要实现此功能,需要相应创建序列、触发器。

(6)Sql

Server中字段类型为text的情况,如果是存二进制数据需要在Oracle中选用Blob字段类型。

(7)Sql

Server有外键的情况,主表记录删除,从表记录也会跟着删除;而Oracle默认情况是当从表有记录时,所对应的主表记录不允许删除。所以这种情况下外键需要添加外键级联删除。

(8)生成的表、视图等个数是否正确,缺失的情况可单独生成脚本。

系统不一样,出现问题的点可能也不一样,具体问题具体分析。

6、建库

在Oracle数据库服务(当然要先安装好Oracle服务端、并建立数据库)orcl实例下,使用用户sys登陆并创建用户orauser,并将resource、connect角色赋给orauser(这里,orauser使用默认表空间、默认临时表空间)。

用刚创建的用户orauser登陆orcl数据库服务,执行前面已经生成的脚本,若干分钟后脚本执行完毕,观察一下执行过程中有无错误产生,也可以记录执行的日志以便日后查看;检查看表、视图等个数与Sql

Server数据库中是否一致。如果都正确,那么,数据库结构从Sql

Server到Oracle的迁移到此结束。当然,迁移的是否正确还需要在之后的使用中检查,发现错误及时修改即可。

如何将mysql数据库导入sql server数据库

MS SQL Server 2OOO sp1

MySql 5041

1:MSSQLServer数据库导入到MySql数据库

步骤:

1安装mysql数据库的ODBC驱动,mysql-connector-odbc-35123-win32msi,下载并安装。

2在Mysql中创建数据库实例。

3打开控制面板 --> 管理工具 --> 数据源ODBC,在用户DSN中添加一个MySQL ODBC 351数据源。

4在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器Server,用户User,密码Password,输入正确后选择要导入的数据库,Database选择你需要导入的数据库。在连接选项connect options中根据需要设置MySql使用的端口port和字符集Character Set。

注:字符集一定要和Mysql服务器相对应,如果Mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到Sql Server可能会出现问号乱码。

5打开sql server企业管理器,选择该数据库,单击右键选择所有任务 --> 导出数据。

6‘选择数据源’为默认,‘选择目的’为刚刚安装的mySQL数据源,用户/系统DSN为MysqlDNS。在‘指定表复制或查询’中选择‘从源数据库复制表和视图’,在‘选择源表和视图’里,选择需要导入的表,即可将数据从MSSQLServer数据库导入到MySql数据库中。

2:MySql数据库导入到MSSQL数据库中

1安装mysql数据库的ODBC驱动,mysql-connector-odbc-35119-win32msi

2打开控制面板\管理工具\数据源ODBC,在用户DSN中添加一个MySQL ODBC 351数据源。

3在登录login选项卡中输入数据源名称Data Source Name,此处输入MysqlDNS;然后输入服务器,用户User,密码Password,输入正确后选择要导入的数据库。在连接选项connect options中根据需要设置MySql使用的端口port和字符集Character Set。

注:字符集一定要和Mysql服务器相对应,如果Mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到Sql 可能会出现问号乱码。

4打开sql server企业管理器,新建一数据库MySql。选择该数据库,单击右键选择所有任务\导入数据。

5选择数据源为其它(ODBC数据源),用户/系统DSN为MysqlDNS。其余根据向导进行,即可将数据从MySql数据库导入到MSSQL数据库中

附加数据库 或者导入数据库

SQL本身有数据导入的 *** 作。但如果要从一个备份的文件中导入数据,则要进行另外的 *** 作。下面以一个例子进行说明。

SQL服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变。

1、首先,在“SQL企业管理器”中新建一个临时数据库A1。

2、右击A1数据库,选择:所有任务->还原数据库。

3、在“还原数据库”窗口中,选择:“从设备”。

4、点击“选择设备”。

5、点击“添加”。

6、从文件名中选择要还原的数据库文件,如A1BAK。

7、点击“确定”,返回“还原数据库”窗口。

8、点击“选项”卡,进入选项设置。

9、钩选:“在现有数据库上强制还原”。

10、修改“移到物理文件名”为:“c:\a1ldf”、“c:\a1mdf”。

11、点确定,即可导入备份文件中的数据到临时数据库A1中。

12、此时,你可以将数据从A1导入到另外一真正要导入的数据库中,如DOE数据库。

(下面的数据导入 *** 作为SQL2000企业管理器的一般数据导入导出 *** 作。)

13、在“SQL企业管理器”中选择“DOE”数据库。

14、右击DOE数据库,选择:所有任务->导入数据。

15、在“DTS导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库A1。点击下一步。

16、在“选择目的”中,系统已经默认为DOE数据库。

17、连续点击“下一步”,直到完成。

经过上面的 *** 作,你已经成功地将备份文件A1BAK中数据导入DOE数据库中,并且DOE数据库原有数据不变。

此时,你可以删除临时数据库A1。

-------------------------------------------------------------

1打开SQLCC

2连接数据库

3连接表"ragnarok"(没有的可以新建一个)

4选择表按CTRL+Q

5点左侧的"打开"按扭(图标为一个文件夹)导入SQL文件

6删除深红色的部分(注意要全部删除,不然导入过程可能会出错)

7修改开头的数据库为"ragnarok",结尾修改数据库的用户名和密码

8按右侧的"导入"按扭(图标为一个感叹号)开始导入

9导入完毕后关闭窗口

10重新连接数据库,即可看到"ragnarok"里的数据表了

以上就是关于请问:如何将一个sql数据库中的数据插入到另一个sql数据库中全部的内容,包括:请问:如何将一个sql数据库中的数据插入到另一个sql数据库中、请问,将数据从SQL SERVER迁移到ORACLE容易吗、如何把sql server数据库迁移到oracle等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存