none
VB使用xp_cmdshell的问题 RRS feed

  • 问题

  • 在VB中有一个textbox控件,里面有很多行SQL代码

    问题1: 我看网上的例子都是xp_cmdshell后面跟着sql脚本文件路径+文件名的格式,如何执行textbox中的代码呢?

    问题2: xp_cmdshell执行的sql如何指定数据库呢?(不在sql脚本中加入use databsename go)

     可能同样的代码,要在好多库中执行,如何为每次的执行加上指定的数据库?

    2011年12月28日 8:15

答案

  • 对应的是connection打开的数据库呀
    http://feiyun0112.cnblogs.com/


    SQL="master.dbo.xp_cmdshell  'osql -U sa -P " & Form1.Text2.Text & " -i """ & CommonDialog1.FileName & """'"

    connUFStr = "Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=" & Combo4.Text & ";Data Source=" & Form1.Text1.Text & ""

    If connUF.State = 1 Then connUF.Close
    connUF.Open connUFStr, "sa", Form1.Text2.Text
    connUF.Execute SQL

    如上语句,执行的库并非是combo4.text指定的库呀,求解!!!

     

    OSQL has -d option to specify db name. By the way, should use sqlcmd instead of osql now.
    2011年12月29日 18:27

全部回复

  • 对应的是connection打开的数据库呀
    http://feiyun0112.cnblogs.com/
    2011年12月28日 9:01
  • 对应的是connection打开的数据库呀
    http://feiyun0112.cnblogs.com/


    SQL="master.dbo.xp_cmdshell  'osql -U sa -P " & Form1.Text2.Text & " -i """ & CommonDialog1.FileName & """'"

    connUFStr = "Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=" & Combo4.Text & ";Data Source=" & Form1.Text1.Text & ""

    If connUF.State = 1 Then connUF.Close
    connUF.Open connUFStr, "sa", Form1.Text2.Text
    connUF.Execute SQL

    如上语句,执行的库并非是combo4.text指定的库呀,求解!!!

     

    2011年12月28日 12:27
  • 这个问题更多的跟sql 相关,我移到sql论坛去看看...
    Mike Feng
    MSDN Community Support | Feedback to us
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    2011年12月29日 13:08
  • 对应的是connection打开的数据库呀
    http://feiyun0112.cnblogs.com/


    SQL="master.dbo.xp_cmdshell  'osql -U sa -P " & Form1.Text2.Text & " -i """ & CommonDialog1.FileName & """'"

    connUFStr = "Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=" & Combo4.Text & ";Data Source=" & Form1.Text1.Text & ""

    If connUF.State = 1 Then connUF.Close
    connUF.Open connUFStr, "sa", Form1.Text2.Text
    connUF.Execute SQL

    如上语句,执行的库并非是combo4.text指定的库呀,求解!!!

     

    OSQL has -d option to specify db name. By the way, should use sqlcmd instead of osql now.
    2011年12月29日 18:27