在oracle中使用sql server表创建表

发布于 2024-11-06 12:30:13 字数 91 浏览 1 评论 0原文

我在 SQL Server 2008 R2 中有一个表。它包含 1M 或更多记录。现在我想在oracle中创建一个与SQL Server 2008 R2中内容相同的表。

I have a table in SQL Server 2008 R2. It contains 1M or more records. Now I want to create a table in oracle with the same content that is in SQL Server 2008 R2.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦初启 2024-11-13 12:30:13

有几种方法可以做到这一点。您可以首先查看以下教程: 将 Microsoft SQL Server 数据库迁移到 Oracle 数据库 11g

我过去曾使用以下步骤完成此任务:

  1. 在 Oracle 数据库中创建表(仅模式,而不是数据)。
  2. CSV(或任何其他分隔符文件(我建议创建不超过 100,000 条记录的文件)
  3. 将数据从 SQL 服务器导出到 1 个或多个 。

Oracle SQL*Loader 实用程序是一个命令行工具,允许您将数据从文件加载到 Oracle。它使用指定源文件及其结构的控制文件 与使用 INSERT 语句加载

相比,使用该工具的优点是加载速度非常快,因为该工具绕过日志文件,因此速度非常快

。 ://www.orafaq.com/wiki/SQL%2aLoader_FAQ" rel="nofollow">SQL*Loader 常见问题解答

从本教程:

用法:

 sqlldr username/password@server control=loader.ctl

控制文件示例:< /强>

(1) load data
(2)    infile 'c:\data\mydata.csv'
(3)   into table emp
(4)    fields terminated by "," optionally enclosed by '"'        
(5)    ( empno, empname, sal, deptno )

第 1 行:指定要将数据加载到表中

第 2 行:指定包含数据的源文件

第 3 行:指定目标表

第 4 行:指定列分隔符(示例中为逗号)以及字符串值可能是由 " 字符括起来。

第 5 行:指定文件中的列顺序

数据文件示例(对应于上面的控制文件):

10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20

希望它有所帮助。

科比

There are several ways of doing that. You can first look on the following tutorial: Migrating a Microsoft SQL Server Database to Oracle Database 11g

I have done this task in the past using the following steps:

  1. Create the table in the Oracle database (only schema, not data).
  2. Export the data from the SQL server to 1 or more CSV (or any other delimiter files (I suggest to create files with no more than 100,000 records)
  3. Use SQL*Loader (An oracle utilily) to load the data from the files to the oracle.

The Oracle SQL*Loader utility is a command line tool that allows you to load data from files to Oracle. It uses control file that specifies the source file, its structure and the loading strategy.

The advantage of using the tool vs. loading using INSERT statements is the speed of loading. Since this tool bypass the log files it is extreamly fase.

Here is the link to the SQL Loader tutorial: SQL*Loader FAQ

From this tutorial:

Usage:

 sqlldr username/password@server control=loader.ctl

Control file sample:

(1) load data
(2)    infile 'c:\data\mydata.csv'
(3)   into table emp
(4)    fields terminated by "," optionally enclosed by '"'        
(5)    ( empno, empname, sal, deptno )

Line 1: Speciefies that you want to load data into the table

Line 2: Specifies the source file that contains the data

Line 3: Specifies the destination table

Line 4: Specifies the columns delimiter (Comma in the example) and that string values might be enclosed by " char.

Line 5: Specifies the order of columns in the file

Data files sample (Corresponds to the control file above):

10001,"Scott Tiger", 1000, 40
10002,"Frank Naude", 500, 20

Hope it helped.

Koby

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文