Home > Database > Mysql Tutorial > Oracle exp query条件检索在Windows和Linux下的命令区别

Oracle exp query条件检索在Windows和Linux下的命令区别

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 17:09:53
Original
1246 people have browsed it

天因为业务需要,运行了EXP的条件导出,发现WINDOWS和LINUX下有些差别,主要区别在于敏感字符,实例如下:LINUX:exp us/pass TAB

天因为业务需要,运行了EXP的条件导出,发现WINDOWS和LINUX下有些差别,主要区别在于敏感字符,,实例如下:

LINUX:

exp us/pass TABLES=\(t_ec_event\) file=/tmp/test.dmp QUERY=\"WHERE eventid =\'40288a2627f491080127fab7f17232b4\'\"

WINDOWS:

exp us/pass@test TABLES=(t_ec_event) file=test.dmp QUERY='WHERE eventid ="40288a2627f491080127fab7f17232b4"'

更多资料如下:

Oracle的exp工具有一个query参数可以指定一个where条件来有条件地导出记录, 对于不经常用这个选项的人来说, 经常会遇到这样的错误:

LRM-00112: multiple values not allowed for parameter 'query'

EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully

这是因为在where条件中一般都会有空格, 而命令行下就会被释成几个命令行参数, 需要用单引号或双引号将整个where条件括起来, 就可以了. 在Windows下, 如何指定query参数:

exp ... query='where deptno=10'
exp ... query='where deptno=''10'''
exp ... query='where deptno"

在Solaris(C shell)下, 如何指定query参数:

exp ..... query=\"where col1 \exp ..... query=\"where col1 \其他Unix平台的应当和Solaris下的一样, 我自已也经常搞错. 在上面的例子中已经说明了如何在query值中使用单引号, 因此在看完这篇后, 就应当可以写出正确的where条件了. 最好是写在一个参数文件里, 这样的话就不用注意这些了.

linux

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template