精华内容
下载资源
问答
  • 导入
    千次阅读
    2021-01-14 00:32:49

    excel怎么将表格导入另一个表格

    直接复制-粘贴其实更加。

    导入有格式等的要求,软件版本也是有的。

    如果你想不改变格式将一个表格的数据全部复制过来,有两种方法:

    一、不打开要复制的表格,直接将这个表格复制一份,然后改名字,即可。

    二、打开要复制的表格,鼠标左键点击行序数和列序数相交的空白处(如图),然后复制-粘贴,即可。

    怎样把EXCEL表格导入project 中?

    利用Excel导入。在〔列出任务〕窗口中,按下〔导入向导〕,即可从Excel中导入任务。

    具骤如下:

    1、打开文件对话框,选择一个目标Excel文件,单击〔打开〕按钮。

    2、〔导入向导〕对话框,单击〔下一步〕按钮。

    3、〔导入向导-映射〕对话框。为了确保将Excel信息导入到Microsoft Project的正确的域中,故而需要创建或编辑(选择〔使用现有映射〕)导入映射。

    4、选择〔新建映射〕。然后,单击〔下一步〕按钮。

    5、接着出现〔导入向导-任务映射〕对话框。这时系统会自动读出要导入的Excel文件的工作表,由于产品经理马强的任务数据都放置在〔任务计划〕表中,故映射任务数据时,选择〔源工作表名称〕时选取〔任务计划〕工作表。

    6、系统会自动将〔任务计划〕工作表中的列名称〔一览无疑清凉秀〕读入〔从:Excel域〕中,并可以从下面的〔预览〕中看见该列的信息情况。

    7、接着要将任务信息〔从:Excel域〕映射〔到:Microsoft Project域〕。从〔到:Microsoft Project域〕选择要映射的Microsoft Project域〔名称〕,按“回车键”即可选定。

    8、如果还有其他信息需要〔从:Excel域〕映射〔到:Microsoft Project域〕,则改变工作表中的域,重复步骤8的操作即可。

    9、以上映射完毕之后,单击〔下一步〕按钮,结束本对话框操作。

    10、到此,数据导入工作便大功告成了!单击〔完成〕按钮关闭对话框。

    11、最后映射来至Excel的任务即可。

    新点软件怎么导入excel清单表格 表格有什么要求???

    没明白

    怎样在EXCEL表格中导入其他表格的EXCEL数据

    步 1(共 3 步)

    原始数据类型 如果文本文件中的项表符、冒号、分号、空其他字隔,则选择“分隔符号”。如果文本文件中的所有项的长度相同,则选择“固定宽度”。

    导入起始行 键入或选择行号以指定要导入数据的第一行。

    文件原始格式 选择文本文件中使用的字符集。 大多数情况下,可以保持文本格式的默认设置。如果知道文本文件是使用不同于计算机上使用的字符集创建的,那么应更改此设置使其与计算机上的字符集相同。例如,如果您的计算机设置为使用字符集 1251(西里尔文,Windows),而您知道文件是使用字符集 1252(西欧字符,Windows)生成的,则应将“文件原始格式”设置为 1252。

    预览文件 该框以文本被分到工作表的列中后的形式来显示文本。

    步骤 2(共 3 步)(分隔数据)

    分隔符 选择在文本文件中分隔值的字符。如果未列出字符,则选中“其他”复选框,然后在包含光标的框中键入字符。如果数据类型为“固定宽度”,则这些选项不可用。

    连续分隔符视为单个处理 如果数据包含数据字段之间的一个具有多个字符的分隔符,或者数据包含多个自定义分隔符,则选择该选项。

    文本识别符 选择文本文件中将值括起来的字符。当 Excel 遇到文本识别符时,识别符后面且下一识别符前面的所有文本都会作为一个值导入,即使文本中包含一个分隔符也是如此。例如,如果分隔符为逗号 (,),文本识别符为双引号 ("),"Dallas, Texas" 将以 Dallas, Texas 形式导入到一个单元格中。如果没有识别符或者指定单引号 (') 为识别符,"Dallas, Texas" 将以 "Dallas 和 Texas" 形式导入到两个相邻的单元格中。

    如果分隔符出现在两个文本识别符中间,Excel 将在导入值中省略识别符。如果两个文本识别符中没有分隔符,那么 Excel 将在导入值中包含识别符。因此,"Dallas Texas"(使用双引号文本识别符)将以 "Dallas Texas" 形式导入到一个单元格中。

    数据预览 在该框中查看文本以验证文本是否按照您期望的方式分到工作表中的列。

    步骤 2(共 3 步)(固定宽度数据)

    数据预览 在此部分设置字段宽度。单击预览窗口以设置由垂直线表示的分栏符。双击分栏符可将其删除或通过拖动来移动它。

    步骤 3(共 3 步)

    单击“高级”按钮以指定文本文件中所使用的小数分隔符和千位分隔符的类型。在将数据导入到 Excel 中时,分隔符将与“区域设置”(Windows“控制面板”)中所指定的您所在国家/地区的分隔符相匹配。

    列数据格式 单击在“数据预览”部分选定的列的数据格式。如果不想导入选定的列,则单击“不导入此列(跳过)”。

    选择选定列的数据格式后,“数据预览”下的列标题将显示该格式。如果选择“日期”,请在“日期”框中选择日期格式。

    选择与预览数据最接近的数据格式,这样 Excel 便可以准确地转换导入数据。例如:

    ·要将所有货币数字字符列转换为 Excel 货币格式,请选择“常规”。 ·要将所有数字字符列转换为 Excel 文本格式,请选择“文本”。 ·要将所有日期字符列(每个日期按年、月、日的顺序排列)转换为 Excel 日期格式,请选择“日期”,然后选择“日期”框中的“YMD”日期类型。

    如果转换可能产生某些意外结果,Excel 将以常规格式导入列。例如:

    ·如果列中包含混合格式(如字母和数字字符),Excel 会将列转换为常规格式。 ·如果在日期列中,每个日期都是以年、月、日的顺序排列,同时选择“日期”以及“MDY”日期类型,则 Excel 便会将列转换为常规格式。包含日期字。

    更多相关内容
  • C# Excel导入导出

    千次下载 热门讨论 2015-08-07 16:26:52
    C#调用NPOI进行Excel导入、导出。 文件为一个解决方案,包含了所有开发源码。 文章为:http://www.cnblogs.com/polk6/p/4425620.html
  • oracle 导入imp 命令

    万次阅读 2021-01-12 13:23:12
    最常用的 imp name/password@IP:1521/orcl[库] file="c:\123.dmp" full=y ignore=y。例:imp abc/123@192.168.1.3:1521/orcl file = "c:\123.dmp...oracle中imp命令详解Oracle的导入实用程序(Import utility)允许从数...

    最常用的      imp  name/password@IP:1521/orcl[库] file="c:\123.dmp" full=y ignore=y。

    例:imp abc/123@192.168.1.3:1521/orcl file = "c:\123.dmp" full=y ignore = y。

    oracle中imp命令详解

    Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。

    1. 获取帮助

    imp help=y

    2. 导入一个完整数据库

    imp system/manager file=bible_db log=dible_db full=y ignore=y

    3. 导入一个或一组指定用户所属的全部表、索引和其他对象

    imp system/manager file=seapark log=seapark fromuser=seapark

    imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

    4. 将一个用户所属的数据导入另一个用户

    imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy

    imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)

    5. 导入一个表

    imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

    6. 从多个文件导入

    imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck,filesize=1G full=y

    7. 使用参数文件

    imp system/manager parfile=bible_tables.par

    bible_tables.par参数文件:

    #Import the sample tables used for the Oracle8i Database Administrator's

    #Bible.

    fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

    8. 增量导入(9i中已经取消)

    imp system./manager inctype= RECTORE FULL=Y FILE=A

    Oracle imp/exp帮助说明

    C:Documents and Settingsadministrator>exp help=y

    Export: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:04:43 2004

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    通过输入 EXP 命令和用户名/口令,您可以

    后接用户名/口令的命令:

    例程: EXP SCOTT/TIGER

    或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”

    按照不同参数。要指定参数,您可以使用关键字:

    格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

    例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)

    或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

    USERID 必须是命令行中的第一个参数。

    关键字 说明(默认) 关键字 说明(默认)

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

    USERID 用户名/口令 FULL 导出整个文件 (N)

    BUFFER 数据缓冲区大小 OWNER 所有者用户名列表

    FILE 输出文件 (EXPDAT.DMP) TABLES 表名称列表

    COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录的长度

    GRANTS 导出权限 (Y) INCTYPE 增量导出类型

    INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)

    DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y)

    LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)

    ROWS 导出数据行 (Y) PARFILE 参数文件名

    CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)

    OBJECT_CONSISTENT 只在对象导出期间设置为读的事务处理 (N)

    FEEDBACK 每 x 行的显示进度 (0)

    FILESIZE 每个转储文件的最大大小

    FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN

    FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间

    QUERY 用于导出表的子集的 select 子句

    RESUMABLE 遇到与空格相关的错误时挂起 (N)

    RESUMABLE_NAME 用于标识可恢复语句的文本字符串

    RESUMABLE_TIMEOUT RESUMABLE 的等待时间

    TTS_FULL_CHECK 对 TTS 执行完整的或部分相关性检查

    TABLESPACES 要导出的表空间列表

    TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

    TEMPLATE 调用 iAS 模式导出的模板名

    在没有警告的情况下成功终止导出。

    ==================================================

    C:Documents and Settingsadministrator>imp help=y

    Import: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:06:54 2004

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    可以通过输入 IMP 命令和您的用户名/口令

    后接用户名/口令的命令:

    例程: IMP SCOTT/TIGER

    或者, 可以通过输入 IMP 命令和各种参数来控制“导入”

    按照不同参数。要指定参数,您可以使用关键字:

    格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)

    例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N

    或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

    USERID 必须是命令行中的第一个参数。

    关键字 说明(默认) 关键字 说明(默认)

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

    USERID 用户名/口令 FULL 导入整个文件 (N)

    BUFFER 数据缓冲区大小 FROMUSER 所有人用户名列表

    FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表

    SHOW 只列出文件内容 (N) TABLES 表名列表

    IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度

    GRANTS 导入权限 (Y) INCTYPE 增量导入类型

    INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)

    ROWS 导入数据行 (Y) PARFILE 参数文件名

    LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)

    DESTROY 覆盖表空间数据文件 (N)

    INDEXFILE 将表/索引信息写入指定的文件

    SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)

    FEEDBACK 每 x 行显示进度 (0)

    TOID_NOVALIDATE 跳过指定类型 ID 的验证

    FILESIZE 每个转储文件的最大大小

    STATISTICS 始终导入预计算的统计信息

    RESUMABLE 在遇到有关空间的错误时挂起 (N)

    RESUMABLE_NAME 用来标识可恢复语句的文本字符串

    RESUMABLE_TIMEOUT RESUMABLE 的等待时间

    COMPILE 编译过程, 程序包和函数 (Y)

    STREAMS_CONFIGURATION 导入 Streams 的一般元数据 (Y)

    STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)

    下列关键字仅用于可传输的表空间

    TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

    TABLESPACES 将要传输到数据库的表空间

    DATAFILES 将要传输到数据库的数据文件

    TTS_OWNERS 拥有可传输表空间集中数据的用户

    成功终止导入,但出现警告。

    Oracle8i/9i EXP/IMP使用经验

    一、8i EXP常用选项

    1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。例如:

    exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y

    2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如:

    exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000tables=WO4,OK_YT

    3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。

    需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。

    如果你真想使用EXP直接到磁带,你可以参考Metalink文章“EXPORTING TO TAPE ON UNIXSYSTEMS”(文档号:30428.1),该文中有详细解释。

    4、COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下DIRECT参数是无法使用的。

    5、如何使用SYSDBA执行EXP/IMP?

    这是一个很现实的问题,有时候我们需要使用SYSDBA来执行EXP/IMP,如进行传输表空间的EXP/IMP,以及在9i下用SYS用户来执行EXP/IMP时,都需要使用SYSDBA才可。我们可以使用下面方式连入EXP/IMP:

    exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n

    6、QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和SELECT中相同,如果是UNIX平台所有"和'都需要使用u26469屏蔽它们的特殊含义:

    exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 andc2=gototop"

    如果是windows平台,则使用下面的格式:

    expc/c@ncnfile=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""

    二、8i IMP常用选项

    1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。

    2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。

    另外一个EXP/IMP都有的参数是PARFILE,它是用来定义EXP/IMP的参数文件,也就是说,上面的参数都可以写在一个参数文件中,但我们一般很少使用。

    三、Oracle9i EXP功能描述

    Oracle9i EXP在原有的基础上新增了部分新的参数,按功能主要分为以下几个部分:

    1、OBJECT_CONSISTENT - 用于设置EXP对象为只读以保持对象的一致性。默认是N。

    2、FLASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。

    3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空间分配而新增。

    4、TTS_FULL_CHECK - 用于在传输表空间时使用依赖性检查。

    5、TEMPLATE - 用于支持iAS。

    6、TABLESPACES - 设置表空间导出模式。个人觉得对于一般用户而言,这个才是新增参数中最实用的一个,可以让用户在原来的FULL、OWNER、TABLES的基础上多了一种选择,使得EXP更加灵活。

    四、不同版本的EXP/IMP问题?

    一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决:

    1、在高版本数据库上运行底版本的catexp.sql;

    2、使用低版本的EXP来导出高版本的数据;

    3、使用低版本的IMP将数据库导入到底版本数据库中;

    4、在高版本数据库上重新运行高版本的catexp.sql脚本。

    但在9i中,上面的方法并不能解决问题。如果直接使用底版本EXP/IMP会出现如下错误:

    EXP-00008: ORACLE error %lu encountered

    ORA-00904: invalid column name

    这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261,你可以到METALINK上去查看有关此BUG的详细信息。

    BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。

    CREATE OR REPLACE view exu81rls

    (objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)

    AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname,

    decode(bitand(r.stmt_type,1), 0,'', 'SELECT,')

    || decode(bitand(r.stmt_type,2), 0,'', 'INSERT,')

    || decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,')

    || decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'),

    r.check_opt, r.enable_flag,

    DECODE(BITAND(r.stmt_type, 16), 0, 0, 1)

    from user$ u, obj$ o, rls$ r

    where u.user# = o.owner#

    and r.obj# = o.obj#

    and (uid = 0 or

    uid = o.owner# or

    exists ( select * from session_roles where role='SELECT_CATALOG_ROLE')

    )

    /

    grant select on sys.exu81rls to public;

    /

    五、其他问题

    本文只讨论了Oracle8i和9i中的EXP/IMP的一些情况,对于之前的版本,在8.0.X中,除了QUERY参数不能用外,其它差别不大。针对没有QUERY的情况,我们可以先在数据库中使用查询条件建立临时中间表,然后使用EXP导出这个中间表即可。至于Oracle7因为目前使用的人较少,gototop不打算在此做详细解释了,如果读者朋友有需求,你可以参考Metalink文档:“Overview of Export and Import in Oracle7”(文档号:61949.1)。关于EXP/IMP的详细参数信息你可以通过EXP/IMP HELP=Y来获得。

    另外关于传输表空间的更多信息可以参考下面的Metelink文档,本文不再详述。

    [NOTE:77523.1] Transportable Tablespaces -- An Example to setup and use.

    [NOTE:100698.1] Perform tablespace point-in-time recovery using TransportableTablespace.

    六.对于有跨schema的index,imp时可能会报“Segmentation fault”错误。

    例如schema A中建有基于schema B表的索引,在导入A时会报上述错误,此时通过indexes=n来屏蔽导入索引以防止错误,事后可以用以下语句查出这样的索引,最好将索引放在和基表在同一个schema。

    SQL>select index_name,owner,table_name,table_owner

    from dba_indexes

    where owner!=table_owner;

    七.导入到不同于原表空间的表空间

    原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的用户的默认表空间,为什么结果还是IMP到USERS表空间中了呢?

    Solution:Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。

    1.在IMP时候使用INDEXFILE参数

    当给此参数指定了某一文件名,IMP的时候所有的index将不会直接导入到表空间中,而是在指定的文件中生成创建index的脚本。

    然后用文本编辑器打开此文件,直接编辑脚本中的storage参数,修改为想要导入的表空间名称。

    然后重新执行IMP,使用INDEXS=n参数将除Index之外的Objects导入。

    最后进入SQL*PLUS,直接运行刚才编辑的脚本,生成索引。

    该方法适用于将index以及constraints导入指定的表空间。

    2.改变目的用户的默认表空间

    这就是上面说的经常有人提问的方法。但是上述的问题之所以没有成功,是因为缺少了下面的几步。

    首先,收回目的用户的"UNLIMITED TABLESPACE"权限:

    revoke unlimited tablespace from username;

    其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据导入到用户的默认表空间中去。

    然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。

    最后,执行IMP。

    3.使用TOAD

    TOAD是强大的Oracle数据库管理软件,是Quest出品的第三方软件,我们可以使用其中的Rebuild Multi Objects工具来实现将多个Object转移到指定的表空间。

    于是我们可以不管三七二十一,先IMP,然后再用TOAD作事后的修改。

    关于TOAD的使用,此处不作详细解释。

    八.导入工具imp可能出现的问题

    (1) 数据库对象已经存在

    一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;

    数据库对象已经存在, 按缺省的imp参数, 则会导入失败

    如果用了参数ignore=y, 会把exp文件内的数据内容导入

    如果表有唯一关键字的约束条件, 不合条件将不被导入

    如果表没有唯一关键字的约束条件, 将引起记录重复

    (2) 数据库对象有主外键约束

    不符合主外键约束时, 数据会导入失败

    解决办法: 先导入主表, 再导入依存表

    disable目标导入对象的主外键约束, 导入数据后, 再enable它们

    (3) 权限不够

    如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限

    (4) 导入大表( 大于80M ) 时, 存储分配失败

    默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上.

    导入时, 如果不存在连续一个大数据块, 则会导入失败.

    导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.

    (5) imp和exp使用的字符集不同

    如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.导入完成后再改回来.

    (6) imp和exp版本不能往上兼容

    imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件

    根据情况我们可以用低版本的oracle客户端的exp导出数据库,然后进行导入操作。

    (7)ROLLBACK段不够

    Export/Import使用过程中, 如果数据量很大会出现'ROLLBACK段不够'的错误.这时要建一个足够大的ROLLBACK段, 使它ONLINE而其他ROLLBACK段OFFLINE. 这样, Export/Import使用这个大ROLLBACK段, 从而避免上述现象.

    (8)EXPORT/IMPORT对SQUENCE的影响

    在两种情况下,EXPORT/IMPORT会对SEQUENCE。

    a. 如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不一致。

    b. 另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就会被忽略 的,只是从数据字典里面取当前值EXPORT。如果在进行FULL方式的EXPORT/IMPORT时,恰好在用sequence更新表中某列数据, 而且不是上面两种

    情况,则导出的是更新前的数据。如果采用常规路径方式,每一行数据都是用INSERT语句,一致性检查和INSERT TRIGGER 如果采用DIRECT方式,某些约束和trigger可能不触发,如果在trigger中使用sequence.nextval,将会对sequence有影响。

    九.ORACLE获取DDL的几种常用的方法

    大体的分为三种方法:

    1.可以通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作。

    2.直接通过EXP/IMP工具

    Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导出DDL。

    a. 通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM

    语法大体如下:

    exp userid=... tables=emp rows=n file=emp.dmp

    imp userid=... file=emp.dmp indexfile=emp.sql

    b. 通过imp指定show=y,同时指定log参数,格式上也不是很爽,在格式上很美观的还是通过工具导出的比较美观

    语法大体如下:

    exp userid=... tables=emp rows=n file= emp.dmp

    imp userid=... file= emp.dmp show=y log=emp.sql

    c. 利用unix下有strings命令,语法大体如下,这种方法比较野蛮:

    exp userid=... tables=tab1 rows=n file=tab1.dmp

    strings emp.dmp >emp.sql

    emp.sql中就有DLL语句了

    3.通过9i的DBMS_METADATA包得到DLL语句

    基本上用到的语法如下:

    a. 获取单个的建表和建索引的语法

    set heading off;

    set echo off;

    Set pages 999;

    set long 90000;

    spool DEPT.sql

    select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;

    select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;

    spool off;

    b.获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:

    set pagesize 0

    set long 90000

    set feedback off

    set echo off

    spool scott_schema.sql

    connect scott/tiger;

    SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)

    FROM USER_TABLES u;

    SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)

    FROM USER_INDEXES u;

    spool off;

    c. 获取某个SCHEMA的建全部存储过程的语法

    connect brucelau /brucelau;

    spool procedures.sql

    select

    DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)

    from

    user_objects u

    where

    object_type = 'PROCEDURE';

    spool off;

    另:dbms_metadata.get_ddl('TABLE','TAB1','USER1')

    三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。

    十.优化exp和imp的性能

    exp /imp 可配置一些参数,以改进Export和Import的性能。至于性能具体能提升多

    高,则取决于要导出或导入的数据,以及数据量的大小。

    导出性能:用以下通用参数改进Export的性能:

    DIRECT:对一个Export,将DIRECT参数设为DIRECT=Y,将数据直接转移到Export客户端。这样的转移绕过SQL命令处理层(估值缓冲区),从而避免了无谓的数据转换。

    RECORDLENGTH:增大RECORDLENGTH参数值,来改进性能。为该参数推荐的值是DB_BLOCK_SIZE的一个整数倍,或者是文件系统I/O块大小的一个整数倍。更改这个参数的值会影响写入磁盘前积累的数据量。该参数的最大值为64千字节(64 KB)。

    导入性能:用以下通用参数改进Import的性能:

    BUFFER:BUFFER参数指定了缓冲区的大小,数据行将通过这个缓冲区进行转移,由此便决定了由Import导入的每个阵列插入中的行数。如配合COMMIT=Y参数指定BUFFER参数,则Import会在每一个阵列插入之后进行提交,而不是在载入完整的表之后再默认地提交。一个较大的BUFFER参数值有助于改善性能。但假如BUFFER值过高,会造成OS分页和换行,反而影响性能。

    INDEXES。INDEXES参数指定是否导入用户生成的索引。如指定INDEXES=N,则将提高Import的性能,因为在一个无索引的表中导入数据要快得多。注意,如果首先用INDEXFILE=返回Import,来在请求的Import模式下提取索引创建命令,再将其写入指定的文件,那么以后仍可重建索引。

    使用INDEXFILE选项时,不会导入数据对象。可对输出文件()进行编辑,并将其作为一个SQL脚本使用,以便在Import之后创建索引。

    另外还可以通过调整一下参数提高exp和imp的性能

    . 修改sqlnet.ora在里面增加trace_level_client=off. 执行dbmspool.sql然后SQL>beginSQL> dbms_shared_pool.sizes(300);

    SQL> end;

    SQL> /

    . sql>ALTER SYSTEM FLUSH SHARED_POOL. sql>alter system set LOG_CHECKPOINT_INTERVAL =redologfilesizebytes/512bytes=1000也可以修改log_checkpoint_timeout=24000

    . sql>alter system set fast_start_mttr_target =24000. sql>alter system set pga_aggregate_target=100M

    没有下commit=y所以只有通过

    A.select undtsn,undoblks from v$undostat;的变化来看资料又没有进去了

    B. 在imp时通过设定 FEEDBACK=N笔资料来显示Imp的进度

    重整的时候如果要drop 掉table重建的话,一定要注意该table上有没有FK等

    在EXP /IMP的时候为了加速需要将index=n参数加进exp/imp执行脚本,这样的话在做完imp后需要recreate index 其实资料量大的话recreate也很花时间,故可以通过在create index 的脚本里面加入parallel 5;来提速

    另I/O可以在Windows 的效能的地方看到

    十一.IMPORT时的对象倒入顺序

    在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化,

    但是现在是这样的。

    1. Tablespaces 14. Snapshot Logs

    2. Profiles 15. Job Queues

    3. Users 16. Refresh Groups

    4. Roles 17. Cluster Definitions

    5. System Privilege Grants 18. Tables (also grants,comments,

    6. Role Grants indexes, constraints, auditing)

    7. Default Roles 19. Referential Integrity

    8. Tablespace Quotas 20. POSTTABLES actions

    9. Resource Costs 21. Synonyms

    10. Rollback Segments 22. Views

    11. Database Links 23. Stored Procedures

    12. Sequences 24. Triggers, Defaults and Auditing

    13. Snapshots

    按这个顺序主要是解决对象之间依赖关系可能产生的问题。TRIGGER最后导入,所以在INSERT数据到数据库时不会激发TRIGGER。在导入后可能会有一些状态是INVALID的PROCEDURE,主要是IMPORT时会影响一些数据库对象,而IMPORT并不重新编译PROCEDURE,从而造成这种情况,可以重新编译之,就能解决这个问题。

    十二. Imp/exp的模糊导入导出

    前段时间在网上看到一篇关于imp/exp模糊导入导出的文章,甚感兴趣,今天中午做了一个测试,感觉Oracle实在是博大,有很多东西不用的话,对我们来说永远是一个陌生的地带。揭去面纱,也就那么回事!

    说明:使用通配符导出的最大优点,就是当你的库中有很多表,但你又不想全导,只导其中一部分的时候,你可以尽可能的少写部分代码,提供工作效率!

    我一般喜欢以示例的方式展现或表达一些东西,这样大家可能了解/掌握的更快以下!毕竟很多东西我们大部分同志知其然就可以了!嘿嘿。^|^

    备注:该项特性在9i以后新增

    测试过程如下:

    SQL> conn study/study

    已连接。

    SQL>

    SQL> create table toms_test_1 (no int);

    表已创建。

    SQL> create table toms_test_2 (no int);

    表已创建。

    SQL> create table toms_test_3 (no int);

    表已创建。

    SQL> insert into toms_test_1 values(1);

    已创建 1 行。

    SQL> insert into toms_test_2 values(2);

    已创建 1 行。

    SQL> insert into toms_test_3 values(3);

    已创建 1 行。

    SQL> commit;

    提交完成。

    Microsoft Windows XP [版本 5.1.2600]

    (C) 版权所有 1985-2001 Microsoft Corp.

    C:Documents and Settings>e:

    E:>exp study/study tables=(study.toms_test%) file=toms_test.dmprows=y

    Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:42:32 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

    即将导出指定的表通过常规路径 ...

    . . 正在导出表 TOMS_TEST_1 1 行被导出

    . . 正在导出表 TOMS_TEST_2 1 行被导出

    . . 正在导出表 TOMS_TEST_3 1 行被导出

    在没有警告的情况下成功终止导出。

    SQL>

    SQL> drop table toms_test_1;

    表已丢弃。

    SQL> drop table toms_test_2;

    表已丢弃。

    SQL> drop table toms_test_3;

    表已丢弃。

    SQL>

    SQL> select table_name from tabs where table_name like 'TOMS_TEST%';

    未选定行

    SQL>

    E:>imp study/study file=toms_test.dmp fromuser=study touser=study

    Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:44:01 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    经由常规路径导出由EXPORT:V09.02.00创建的文件

    已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

    . . 正在导入表 "TOMS_TEST_1" 1行被导入

    . . 正在导入表 "TOMS_TEST_2" 1行被导入

    . . 正在导入表 "TOMS_TEST_3" 1行被导入

    成功终止导入,但出现警告。

    E:>

    SQL> select table_name from tabs where table_name like 'TOMS_TEST%';

    TABLE_NAME

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

    TOMS_TEST_1

    TOMS_TEST_2

    TOMS_TEST_3

    SQL> select * from toms_test_1;

    NO

    ----------

    1

    SQL> select * from toms_test_2;

    NO

    ----------

    2

    SQL> select * from toms_test_3;

    NO

    ----------

    3

    SQL>

    SQL> select table_name from tabs where table_name like '%TEST%';

    TABLE_NAME

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

    TOMS_TEST_1

    TOMS_TEST_2

    TOMS_TEST_3

    SQL>

    E:>exp study/study tables=(study.%test%) file=test.dmp rows=y

    Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:51:56 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

    即将导出指定的表通过常规路径 ...

    . . 正在导出表 TOMS_TEST_1 1 行被导出

    . . 正在导出表 TOMS_TEST_2 1 行被导出

    . . 正在导出表 TOMS_TEST_3 1 行被导出

    在没有警告的情况下成功终止导出。

    E:>

    SQL> drop table toms_test_1;

    表已丢弃。

    SQL> drop table toms_test_2;

    表已丢弃。

    SQL> drop table toms_test_3;

    表已丢弃。

    SQL>

    E:>imp study/study file=test.dmp fromuser=study touser=study

    Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:53:11 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    经由常规路径导出由EXPORT:V09.02.00创建的文件

    已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

    . . 正在导入表 "TOMS_TEST_1" 1行被导入

    . . 正在导入表 "TOMS_TEST_2" 1行被导入

    . . 正在导入表 "TOMS_TEST_3" 1行被导入

    成功终止导入,但出现警告。

    E:>

    SQL> select table_name from tabs where table_name like '%TEST%';

    TABLE_NAME

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

    TOMS_TEST_1

    TOMS_TEST_2

    TOMS_TEST_3

    SQL>

    E:>exp study/study tables=(%test%) file=test.dmp rows=y

    Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:08:56 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

    即将导出指定的表通过常规路径 ...

    . . 正在导出表 TOMS_TEST_1 1 行被导出

    . . 正在导出表 TOMS_TEST_2 1 行被导出

    . . 正在导出表 TOMS_TEST_3 1 行被导出

    在没有警告的情况下成功终止导出。

    E:>

    SQL> conn toms/toms

    已连接。

    SQL> create table stu_1 (no int);

    表已创建。

    SQL> create table stu_2 (no int);

    表已创建。

    SQL> insert into stu_1 values(1);

    已创建 1 行。

    SQL> insert into stu_2 values(2);

    已创建 1 行。

    SQL> commit;

    提交完成。

    E:>exp study/study tables=(%test%,toms.stu%) file=test.dmp rows=y

    Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:11:05 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

    即将导出指定的表通过常规路径 ...

    . . 正在导出表 TOMS_TEST_1 1 行被导出

    . . 正在导出表 TOMS_TEST_2 1 行被导出

    . . 正在导出表 TOMS_TEST_3 1 行被导出

    当前的用户已更改为 TOMS

    . . 正在导出表 STU_1 1 行被导出

    . . 正在导出表 STU_2 1 行被导出

    在没有警告的情况下成功终止导出。

    SQL> conn study/study

    已连接。

    SQL> drop table toms_test_1;

    表已丢弃。

    SQL> drop table toms_test_2;

    表已丢弃。

    SQL> drop table toms_test_3;

    表已丢弃。

    SQL> select table_name from tabs where table_name like '%TEST%';

    未选定行

    SQL> conn toms/toms

    已连接。

    SQL> drop table stu_1;

    表已丢弃。

    SQL> drop table stu_2;

    表已丢弃。

    SQL> select table_name from tabs where table_name like '%STU%';

    未选定行

    SQL>

    E:>imp study/study file=test.dmp fromuser=study touser=studytables=(%test%)

    Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:15:22 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    经由常规路径导出由EXPORT:V09.02.00创建的文件

    已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

    . . 正在导入表 "TOMS_TEST_1" 1行被导入

    . . 正在导入表 "TOMS_TEST_2" 1行被导入

    . . 正在导入表 "TOMS_TEST_3" 1行被导入

    成功终止导入,但出现警告。

    SQL> conn study/study

    已连接。

    SQL> select table_name from tabs where table_name like '%TEST%';

    TABLE_NAME

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

    TOMS_TEST_1

    TOMS_TEST_2

    TOMS_TEST_3

    SQL> select * from toms_test_1;

    NO

    ----------

    1

    SQL> select * from toms_test_2;

    NO

    ----------

    2

    SQL> select * from toms_test_3;

    NO

    ----------

    3

    SQL>

    E:>imp study/study fromuser=toms touser=toms file=test.dmptables=(stu%)

    Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:23:49 2006

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.1.0 - Production

    经由常规路径导出由EXPORT:V09.02.00创建的文件

    已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

    . 正在将TOMS的对象导入到 TOMS

    . . 正在导入表 "STU_1" 1行被导入

    . . 正在导入表 "STU_2" 1行被导入

    成功终止导入,但出现警告。

    E:>

    SQL> conn toms/toms

    已连接。

    SQL> select table_name from tabs where table_name like '%STU%';

    TABLE_NAME

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

    STU_1

    STU_2

    SQL> select * from stu_1;

    NO

    ----------

    1

    SQL> select * from stu_2;

    NO

    ----------

    2

    SQL>

    展开全文
  • sql server 导入超大SQL脚本文件

    热门讨论 2015-05-24 22:13:04
    sql server 导入超大SQL脚本文件.doc 说明
  • java实现Excel数据导入到数据库

    千次下载 热门讨论 2014-05-31 23:59:34
    java实现Excel数据导入到数据库,如果数据库中存在就更新。 数据库数据导入到Excel表中。
  • Neo4j导入数据的5种方式详解配图

    千次阅读 2021-04-27 18:22:21
    一、前言 Neo4j导入数据的方式有: 使用LOAD CSV导入数据 使用APOC导入数据 ...横坐标表示导入的效率,LOAD CSV导入比较慢,而neo4j-admin工具导入比较快。 纵坐标表示人耗费的精力,LOAD CSV比较

    一、前言

    Neo4j导入数据的方式有:

    1. 使用LOAD CSV导入数据
    2. 使用APOC导入数据
    3. 使用编程语言(Java,python,js,C#,Go)导入数据
    4. 使用neo4j-admin工具导入数据
    5. 使用应用导入数据
    6. 使用ETL工具导入数据

    具体选择哪种导入方法取决于:

    1. 数据量大小
    2. 使用者对导入方法的轻松度感受
    3. 有多少时间来导入
      各种导入方法的精力-效率图像如下图:
      在这里插入图片描述
      横坐标表示导入的效率,LOAD CSV导入比较慢,而neo4j-admin工具导入比较快。
      纵坐标表示人耗费的精力,LOAD CSV比较易上手,而使用编程语言如Java/Python等导入数据比较耗费精力。

    二、使用LOAD CSV来导入数据

    CSV格式的数据是文本数据,数据之间用英文逗号隔开。
    支持的数据类型:仅CSV
    好处:操作简单。
    坏处:运行时间长
    在这里插入图片描述
    关键步骤就是:先生成CSV文件,然后用Cypher语句“LOAD CSV”将数据导入到Neo4j数据库中。
    这种方式是最简单的导入数据到neo4j的方式,也是广泛使用来导入原始数据。
    使用LOAD CSV导入数据的要求

    1. CSV文件已经备好
    2. Neo4j Browser或Cypher-shell已打开,Neo4j DBMS在本地运行,或Aura,或Sandbox
    3. 可选(不是必须):在Neo4j集群上
    4. 如果大于100K行数据,则需要特殊处理

    用Cypher加载数据的步骤

    1. CSV文件组织结构
    2. 规范化数据
    3. 确保ID唯一
    4. 确保CSV中的数据是干净的
    5. 执行Cypher代码来检查数据
    6. 确定数据是否需要转化
    7. 确保有必要的数据约束
    8. 确定加载数据量的大小
    9. 执行Cypher代码来加载数据
      10.为图数据添加索引

    (1)CSV文件结构
    在这里插入图片描述
    CSV文件包括header和data两部分,当数据量较大且有多个files时,建议将header与data分离开。
    (2)规范化数据
    在这里插入图片描述
    people.csv表示演员表,movies1.csv表示电影表,roles.csv表示演员参演电影表,这时候可以将roles在图数据库中的关系规范化为*:ACTED_IN*
    (3)ID必须唯一
    (4)数据干净吗?

    • 检查header与对应数据列是否匹配
    • 数据参照是否正确
    • 空值是用“”还是NULL
    • 数据格式,UTF-8
    • 有些字段有尾随空格吗?
    • 字段是否包含二进制零
    • 了解列表是如何形成的,默认是冒号(:)作为分隔符
    • 逗号(:)是分隔符吗?
    • 有明显的打字错误吗?
      (5)执行Cypher来检验数据
    LOAD CSV WITH HEADERS
    FROM 'https://data.neo4j.com/v4.0-intro-neo4j/people.csv'
    AS line
    WITH line WHERE line.birthYear > "1999"
    RETURN line LIMIT 10
    

    在这里插入图片描述

    (6)确定是否需要转化
    在这里插入图片描述
    无论什么数据,导入到neo4j中都视为字符串,因此导入时可以预先进行转换。
    (7)确定数据约束
    一般主键id需要有唯一性约束。下面例子是为Movie和Person分别为id建立唯一性约束。

    CREATE CONSTRAINT UniqueMovieIdConstraint ON (m:Movie) ASSERT m.id IS UNIQUE;
    
    CREATE CONSTRAINT UniquePersonIdConstraint ON (p:Person) ASSERT p.id IS UNIQUE
    

    创建结点有MERGE和CREATE两种方式,MERGE比CREATE多了检查唯一性。
    (8)确定加载数据量的大小
    LOAD CSV这种方式只能加载100K的数据量。
    若超出100K的csv文件,有两种方式解决:

    1. :auto USING PERIODIC COMMIT
    2. 使用APOC,下一节
      第一种方式相当于分批次插入数据,例如每次插入1000条。但是遇到eager类型的聚合函数方法时,第一种方式会失效,eager类型的聚合函数有:collect(), count(), order by, distinct,这时候只能使用第二种方式。
      (9)执行Cypher代码来加载数据
      a. 导入电影结点
    :auto USING PERIODIC COMMIT 500  #每次循环插入500个结点
    LOAD CSV WITH HEADERS FROM
      'https://data.neo4j.com/v4.0-intro-neo4j/movies1.csv' as row
    MERGE (m:Movie {id:toInteger(row.movieId)})
        ON CREATE SET
              m.title = row.title,
              m.avgVote = toFloat(row.avgVote),
              m.releaseYear = toInteger(row.releaseYear),
              m.genres = split(row.genres,":")
    

    b. 导入演员结点

    :auto USING PERIODIC COMMIT 500
    LOAD CSV WITH HEADERS FROM
      'https://data.neo4j.com/v4.0-intro-neo4j/people.csv' as row
    MERGE (p:Person {id:toInteger(row.personId)})
        ON CREATE SET
              p.name=row.name,
              p.birthYear=toInteger(row.birthYear),
              p.deathYear=toInteger(row.deathYear)
    

    c. 导入“导演”关系

    LOAD CSV WITH HEADERS FROM
    'https://data.neo4j.com/v4.0-intro-neo4j/directors.csv' AS row
    MATCH (movie:Movie {id:toInteger(row.movieId)})
    MATCH (person:Person {id: toInteger(row.personId)})
    MERGE (person)-[:DIRECTED]->(movie)
    ON CREATE SET person:Director
    

    (10)为图数据添加索引

    CREATE INDEX MovieTitleIndex FOR (m:Movie) ON (m.title);
    CREATE INDEX PersonNameIndex FOR (p:Person) ON (p.name)
    

    三、使用APOC数据

    支持数据格式:CSV,XML,GraphXML,JSON
    使用APOC导入数据的要求:

    1. CSV,XML,或JSON文件已备好
    2. Neo4j Browser或Cypher-shell已打开,Neo4j DBMS在本地运行,或Aura,或Sandbox
    3. 可选(不是必须):在Neo4j集群上
    4. 对导入数据集大小没有限制

    四、使用编程语言导入数据

    在这里插入图片描述
    编程语言-驱动-Neo4j的方式来导入数据。
    使用驱动导入数据的要求:

    1. Neo4j Browser或Cypher-shell已打开,Neo4j DBMS在本地运行,或Aura,或Sandbox
    2. 可选(不是必须):在Neo4j集群上
    3. 运行中的RDBMS服务器
    4. 负责事务作用域的应用程序,即编程语言
    5. 对导入数据量大小无限制
    6. 支持Java、Python、Javascript、C#等,仅有Java和C#支持异步
      -1- Java语言
    		<dependency>
                <groupId>org.neo4j.driver</groupId>
                <artifactId>neo4j-java-driver</artifactId>
                <version>4.2.0</version>
            </dependency>
    
    
    import org.neo4j.driver.*;
    
    import static org.neo4j.driver.Values.parameters;
    
    public class HelloWorldExample implements AutoCloseable {
        private final Driver driver;
    
        public HelloWorldExample(String uri, String user, String password) {
            driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
        }
    
        @Override
        public void close() throws Exception {
            driver.close();
        }
    
        public void printGreeting(final String message) {
            try (Session session = driver.session()) {
                String greeting = session.writeTransaction(new TransactionWork<String>() {
                    @Override
                    public String execute(Transaction tx) {
                        Result result = tx.run("CREATE (a:Greeting) " +
                                        "SET a.message = $message " +
                                        "RETURN a.message + ', from node ' + id(a)",
                                parameters("message", message));
    
                        return result.single().get(0).asString();
                    }
                });
                System.out.println(greeting);
            }
        }
    
        public void syn() {
            try (Session session = driver.session()) {
                session.readTransaction(new TransactionWork<String>() {
                    @Override
                    public String execute(Transaction tx) {
                        Result result=tx.run("MATCH (a:Person) RETURN a.name limit 10");
                        while(result.hasNext()) {
                            Record record = result.next();
                            System.out.println(record.get("a.name"));
                        }
                        return null;
                    }
                });
            }
    
    
        }
    
        public static void main(String... args) throws Exception {
            try (HelloWorldExample greeter = new HelloWorldExample("bolt://localhost:11005", "neo4j", "123456")) {
    //            greeter.printGreeting("你好,世界");
                greeter.syn();
            }
        }
    }
    

    -2- Python语言

    pip install neo4j
    
    from neo4j import GraphDatabase
    
    class HelloWorldExample:
    
        def __init__(self, uri, user, password):
            self.driver = GraphDatabase.driver(uri, auth=(user, password))
    
        def close(self):
            self.driver.close()
    
        def print_greeting(self, message):
            with self.driver.session() as session:
                greeting = session.write_transaction(self._create_and_return_greeting, message)
                print(greeting)
    
        @staticmethod
        def _create_and_return_greeting(tx, message):
            result = tx.run("CREATE (a:Greeting) "
                            "SET a.message = $message "
                            "RETURN a.message + ', from node ' + id(a)", message=message)
            return result.single()[0]
    
    
    if __name__ == "__main__":
        greeter = HelloWorldExample("bolt://localhost:7687", "neo4j", "password")
        greeter.print_greeting("hello, world")
        greeter.close()
    

    五、使用neo4j-admin工具导入数据

    支持的数据格式:仅CSV,只能在Desktop端使用,Sandbox和Aura不支持使用该工具。
    好处:导入时间少,效率高,支持导入数据很大(如超过10M),一次性导入多个CSV文件
    缺点:neo4j数据库必须在导入完成后才能使用
    在这里插入图片描述
    使用neo4j-admin工具导入数据的要求:

    1. CSV文件已备好
    2. Neo4j DBMS在本地运行,不支持Sandbox和Aura
    3. 无数据量大小限制
      -1- 导入结点
      (1)包含头信息的文件
      id,结点类型
      在这里插入图片描述
      (2)或将头信息与数据存储在不同csv文件上
      id,结点类型,日期,描述
      在这里插入图片描述
      在这里插入图片描述
      -2- 导入关系
      开始结点id,结束结点id,关系类型
      在这里插入图片描述
      -3- 指定对应结点的首个Label
      一个node可能有多个Label,如一个罪犯有多种罪名,选取一个主要罪名。
      罪名列表Labels:
      在这里插入图片描述
      罪犯首要罪名:
      在这里插入图片描述
      -4- 导入语法
    neo4j-admin import
      database <database-name>
      nodes [<rheader-csv-file-1>,]<csv-file-1>
      nodes=<Label>=[<rheader-csv-file-2>,]<csv-file-2>
      relationships [<jheader-csv-file-1>,]<join-csv-file-1>
      relationships=<REL_TYPE>=[<jheader-csv-file-2>,]<join-csv-file-2>
      trim-strings=true
      > import.out
    

    六、使用ETL工具导入数据

    能够实现DBMS和neo4j之间的实时连接来导入数据。
    在这里插入图片描述
    使用ETL工具导入数据的要求:

    1. 已安装并打开ETL工具
    2. Neo4j DBMS在本地运行,或Aura,或Sandbox
    3. 可选,使用Neo4j集群
    4. 运行中的RDBMS服务器
    5. 无数据量大小限制

    导入步骤:

    1. 确保dbms在运行,在desktop打开了ETL工具
    2. 指定目标图数据库,因为一个neo4j dbms可以有多个图数据库
    3. 指定和测试RDBMS的连接
    4. 准备映射
    5. 查看要执行的默认映射,也可以修改映射
    6. 保存映射
    7. 导入数据

    七、总结

    在这里插入图片描述

    展开全文
  • 导入批处理物料时,计算机被卡住,并且没有响应. 分别导入一种材料,它会提示不支持该格式并且无法导入该格式. 成功导入后,没有声音. 如何解决以上问题?无法导入物料,通常分为两种情况: 一种是整体卡住,另一种是...

    导入批处理物料时,计算机被卡住,并且没有响应. 分别导入一种材料,它会提示不支持该格式并且无法导入该格式. 成功导入后,没有声音. 如何解决以上问题?

    无法导入物料,通常分为两种情况: 一种是整体卡住,另一种是单个物料卡住,错误.

    一个,整个卡住了:

    1. PR会导入一批视频材料,并且始终冻结. 如果没有响应该怎么办?

    解决方案: 分段导入材料多次,一次不要导入太多材料.

    如果无法解决问题,请尝试以下方法:

    1. 清理缓存:

    ①选择—编辑—首选项—媒体缓存,找到媒体缓存数据的文件夹,然后清理其中的文件.

    2. 图形卡可能也不支持它,需要将其更改为CPU渲染:

    ②选择下面的“文件”-“项目设置”-“常规渲染程序”,然后将GPU加速更改为“ CPU加速”.

    这是因为图形卡不支持它. 如果图形卡具有中高配置,驱动程序是正常的,并且没有兼容性问题,则不需要此设置.

    展开全文
  • Pandas 导入excel、csv、txt 文件数据

    千次阅读 多人点赞 2021-06-29 16:38:21
    Python 数据分析导入.xlsx 文件基本导入指定导入指定行索引指定列索引指定导入行指定导入导入.csv 文件直接导入指明分隔符指明读取行数指明读取列数engine 指定导入.txt 文件查看数据headtailshapeinfodescribe ...
  • MySQL如何导入数据?本篇文章小编给大家分享一下MySQL导入数据的4种方法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。1、mysql 命令导入使用 mysql 命令导入...
  • IDEA导入Eclipse项目

    万次阅读 多人点赞 2022-02-17 09:58:18
    一,导入Eclipse项目至idea File – New – Project from Existing sources。 选择你的eclipse项目 或者在IDEA启动欢迎页选择 import project 此步比较关键,选择Eclipse,往后直接next next finish 就可以了。 ...
  • Java实现Excel导入导出

    千次下载 热门讨论 2010-05-05 13:41:55
    Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
  • UE4模型整体导入流程

    千次阅读 2021-06-19 09:13:34
    UE4模型整体导入流程 序言 在工业开发项目流程中,往往有复杂模型导入,其中包含了大量的细碎零件与模型,将其导入后手动摆放位置在实现上是不合理的 那么如何在最短时间内导入模型并生成出可供开发使用的蓝图...
  • Python 3.x | 史上最详解的 导入(import)

    万次阅读 多人点赞 2018-07-27 15:05:02
    当我们在导入一个包(package)时(会先加载 init .py定义的引入模块,然后再运行其他代码),实际上是导入的它的 init .py文件(导入时,该文件自动运行,助我们一下导入该包中的多个模块)。我们可以在 init .py...
  • Endnote批量导入文献

    千次阅读 2022-04-21 16:32:47
    导入文献之前,需要下载文献的引用enw文件,该文件是Endnote使用的数据库导入文件,专门用于将参考文献导入至Endnote中。 点击Google学术中文献的 引用 , 在弹出的窗口中点击 Endnote,会自动下载该文献的enw...
  • SQL Server 数据库之导入导出数据

    千次阅读 2022-04-11 15:04:20
    导入导出数据 导入数据表 导出数据表 导入其他源数据表
  • 如何将excel表格中大量数据导入matlab中并作图1、matlab,点击主页下面的数据导入,你可以导入excel数据,这里导自己的huitushuju文件。2、单击“打开”按钮入数据。3、鼠标选择Varname1的所有数据,右键单击以弹出...
  • 如何在oracle中导入导出dmp文件

    千次阅读 2021-05-03 06:51:19
    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的...
  • 摘要 腾兴网为您分享:怎么将音乐导入到库乐队中 库乐队导入音乐的方法,找乐助手,掌上优云,银行帮,小牛等软件知识,以及飞信,虚拟号码软件,健康上网软件,bartender2016,ems录取通知书,管家婆物联通,qq数据...
  • 3DMAx:能导入导出的文件格式

    千次阅读 2021-05-21 22:17:47
    3ds Max可以导入和导出各种文件格式,如本部分中所述。 本节内容 实体对象 3ds Max会在您导入某些文件格式(如 SAT 文件)时创建实体对象。 Adobe Illustrator (AI) 文件 Adobe Illustrator 是一款基于矢量的...
  • Python如何导入自己编写的py文件

    万次阅读 2021-11-20 21:24:25
    使用_init_.py控制导入某文件夹时执行的操作 上述的导入方式一次只能导入一个文件夹里的一个模块,如果想控制一次导入文件夹中的所有模块,而不用一个个用点号去点,我们需要用到_init_.py文件。 此文件需要与模块...
  • Neo4j:入门基础(二)之导入CSV文件

    万次阅读 多人点赞 2020-09-16 15:29:29
    导入CSV文件的方式  主要的两种方式如下:  1、使用 Cypher 命令LOAD CSV,这种方式可以处理中小型数据(可达10 million条记录)  2、使用批量导入工具neo4j-admin ,用来直接导入大数据集 三、上述方式...
  • 一、通过导入工具导入 选择导入工具 选择文件 二、通过函数uiimport导入(推荐) 使用uiimport导入数据比较方便,输入后会自动弹出对话框选择文件或者剪贴板内容 进阶命令如下: uiimport uiimport ...
  • element-ui 全部导入与按需导入

    千次阅读 2020-05-18 20:44:55
    element-ui 有两种使用方法:一种是(默认)全部导入,还有就是根据自己需要按需导入。 如何进行选择,这里提供一个简单方法: 主要就是一句话, 如果用到的组件少, 要按需引入, 如果用到的组件很多,就全部引入, 因为...
  • Python-最详细模块/包的(动态)导入

    万次阅读 2021-03-27 14:24:57
    模块导入 什么是模块? import 搜索路径 as dir __name__ from xxx import ... 包导入 命名空间 包中模块的import 动态导入 内置函数 __import__() importlib 参考 前言 你是否会出现下图中导模块时...
  • 如何向mysql导入数据

    千次阅读 2021-01-18 18:12:07
    导入的数据库文件路径例:导入G:/mydb.sql2.source命令导入数据基本语法:source 数据库文件路径;例:导入G:/mydb2.sql二、导入.csv/.txt文件1.load data 导入数据基本语法:load data [low_priority] [lo...
  • eclipse导入maven项目

    千次阅读 2022-04-18 15:56:13
    系统介绍 开发语言:Java 数据库:MySQL ...系统导入 打开路径:File->Import->Existing Maven Project 选择我们系统的存放目录,然后直接点击Finish即可。 这里们选择已存在的Maven项目来...
  • unity导入模型前的设置

    千次阅读 2022-03-03 11:21:57
    包括场景(Scene)级别的属性,包括是否导入光源和摄像机以及使用何种缩放 因子;网格(Meshes)的属性;几何体(Geometry)包括处理拓扑、UV和法线。 具体见网址:...
  • 100万条数据导入SQL数据库仅用4秒

    热门讨论 2013-01-29 17:18:22
    100万条数据导入SQL数据库仅用4秒,100万条数据导入SQL数据库仅用4秒
  • Android导入OpenCV库

    千次阅读 2022-04-05 16:10:42
    注意直接导入OpenCV里面的sdk文件夹,否则后续测试时会发现要想使用OpenCV库函数还要在设备上另外联网下载相关程序 导入成功后会出现错误,将下面代码删除,删除后点击右上角的“Sync Now”按钮,同步修改后的信息...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,640,638
精华内容 1,056,255
关键字:

导入

友情链接: E22222.zip