none
osql中的i参数中不能有空格的问题 RRS feed

  • 问题

  • C#发布应用程序通过osql执行新建表的脚本,命令如下:
    osql -U sa -P sa -d pubs -i @'c:\\Program Files\\xyz\\db.sql'
    此命令会执行osql命令,但是不会执行脚本;原因在于Program Files这个文件夹有一个空格,如果建在没有空格的文件夹下,正确安装...
    但是安装程序默认就在这个文件夹下,我们也希望在Program Files这个文件夹下...
    如何处理这个问题...百度、google了一下午,好像就我一个人遇到了这个问题...

    2009年11月11日 12:21

答案

  • Tried with this?

    osql -U sa -P sa -d pubs -i @"c:\\Program Files\\xyz\\db.sql"
    2009年11月11日 15:27
  • osql -U sa -P sa -d pubs -i "c:\Program Files\xyz\db.sql"


    既然你用了@,就不要再用两个斜杠了.

    我猜测你是想在c#里输出这个命令吧:

     

    string cmd = "osql -U sa -P sa -d pubs -i \"c:\\Program Files\\xyz\\db.sql\"";


    有dba的职位吗
    2009年11月12日 0:02
    版主

全部回复

  • Tried with this?

    osql -U sa -P sa -d pubs -i @"c:\\Program Files\\xyz\\db.sql"
    2009年11月11日 15:27
  • osql -U sa -P sa -d pubs -i "c:\Program Files\xyz\db.sql"


    既然你用了@,就不要再用两个斜杠了.

    我猜测你是想在c#里输出这个命令吧:

     

    string cmd = "osql -U sa -P sa -d pubs -i \"c:\\Program Files\\xyz\\db.sql\"";


    有dba的职位吗
    2009年11月12日 0:02
    版主
  • 只是在这里书写的时候有问题...程序里面不是这样的...是从安装程序里面或取的...
    2009年11月12日 4:03
  • 只是在这里书写的时候有问题...程序里面不是这样的...是从安装程序里面或取的...
    2009年11月12日 4:03
  • Program Files加上雙引號,"Program Files"--這與Dos環境格式有關

    曾測過一個有空格問題
    SQL自身 xp_fileexist--驗證時不需要雙引號
    用xp_cmdshell時需要雙引號
    ROY WU(吳熹)
    2009年11月12日 4:25
    版主