在linux下的/u01/script目录下建立了一个sql01.sql脚本。
在oracle客户端,该如何执行这个脚本?我用@/u01/script/sql01.sql 总是报错,请教那这个命令该如何写啊?或者客户端该怎样切换到存放脚本的Linux目录呢?谢谢了。

解决方案 »

  1.   

    脚本在linux虚拟机上,客户端是pl/sql developer
      

  2.   

    在虚拟机上,用SQL> @/u01/script/sql01.sql  可以执行,但在客户端该如何才能找到脚本目录呢?
      

  3.   

    pl/sql developer能执行脚本吗?试试command窗口啊
      

  4.   

    是啊,是用的command窗口.  我的意思是oracle客户端可以执行windows上的脚本,但怎么执行虚拟机上的脚本呢?应该是不能吧。才搞明白。
      

  5.   

    打开plsql,然后在plsql中打开sql脚本,点运行就可以了
      

  6.   

    oracle客户端和服务端是在同一台机器上吗?
      

  7.   


    不在,一个在windows下,一个在虚拟机上。
      

  8.   

    如果lz的sql01.sql是数据库语句,那用这个“@/u01/script/sql01.sql”方式是无法执行的,在linux下,这种执行方式是针对可执行程序的,比如一些sh脚本。如果你需要在linux下执行sql语句,需要安装客户端软件,比如sqldeveloper界面行的工具,用界面打开sql01.sql,运行,这个在oracle官网上就有;或者安装一个sqlplus纯命令行的,通过命令行方式运行。
      

  9.   


    不是脚本,我的Oracle是安装在Linux系统上的,linux下,SQL> @/u01/script/sql01.sql 是可以执行的。我的意思是,sql01.sql文件在linux系统里,客户端安装在windows系统,客户端能执行这个sql脚本吗,也就相当于远程执行sql文件。
      

  10.   

    显然你的windows不认识“/u01/script/sql01.sql”这个嘛~~~
      

  11.   

    让windows认识虚拟机下的linux地址不太可能吧,虚拟机是虚拟出来的硬盘空间,相当于运行的一个软件,windows寻址是根据自己的注册表,肯定没办法,如果你虚拟机不支持拷贝啥的你还得ftp才能得到你虚拟机上的文件,更不可能直接认识这个地址啦~~