我是一个非常初学者的Julia用户,但想将它用于我的一些项目。从Julia内部运行sqlplus
我的许多项目都要求我快速连接Oracle以获取其他数据的ID号。我可以通过从其他程序(如shell或tcl)运行sqlplus来完成此操作,但是我尝试过Julia文档中的语法,但总是遇到一个错误或另一个错误。
在TCL一样,它看起来像这样
exec sqlplus -s user/[email protected] << "
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
select ID from table1 where name='abc';
exit;
"
从朱莉娅,我试图使用运行命令这样
run(`sqlplus -s user/[email protected] << "
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
select ID from table1 where name='abc';
exit;
"
`)
,但我得到的各种错误的茱莉亚像
Stacktrace:
[1] depwarn(::String, ::Symbol) at ./deprecated.jl:70
[2] warn_shell_special(::String) at ./shell.jl:8
[3] #shell_parse#236(::String, ::Function, ::String, ::Bool) at ./shell.jl:103
[4] (::Base.#kw##shell_parse)(::Array{Any,1}, ::Base.#shell_parse, ::String, ::Bool) at ./<missing>:0 (repeats 2 times)
[5] @cmd(::ANY) at ./process.jl:796
[6] eval(::Module, ::Any) at ./boot.jl:235
[7] eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
[8] macro expansion at ./REPL.jl:97 [inlined]
[9] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73
任何人的帮助?
尝试'pipeline'命令而不是'<<' –
已经试过了。我得到一个错误,如“无法产卵sqlplus -s用户/传递@ dbname。没有这样的文件或目录” – Jonjilla
乔恩:对我来说,这个特定的错误意味着'sqlplus'不在你的茱莉亚环境的路径/访问。即它与你使用的特定语法无关(显然这并不意味着如果你把它放在路径中,它将立即起作用,因为语法也可能有点不对)。 –