怎样用简单的  SQL  语句打开一个脚本文件(与  SQL  Server  在同一机器上)并执行它?  
请高手指点!  
运行一个SQL文件
---------------------------------------------------------------  
 
master.dbo.xp_cmdshell  '  osql  -U  username  -P  password  -i  c:\myquery.sql'  
 
注意当前数据库要和.sql里要求的一致,或者在.sql里指明了数据库,否则达不到预期结果.

解决方案 »

  1.   

    --有多个.sql文件,就多写几个,放到存储过程里了。
    master.dbo.xp_cmdshell  '  osql  -U  username  -P  password  -i  c:\myquery1.sql'  master.dbo.xp_cmdshell  '  osql  -U  username  -P  password  -i  c:\myquery2.sql'
      

  2.   

    机器上是不是少什么dll文件,运行不了啊
      

  3.   

    1.建立一个临时表
    create table #temp(name varchar(200))1.导入教本名字到临时表里
    insert into #temp
    exec master..xp_cmdshell 'dir c:\test\*.sql /B'2.写个存储过程,把所有脚本名字拼成多条OSQL语句
    declare @i varchar(200),@name varchar(200)
    DECLARE my_cursor CURSOR STATIC FOR
    select name from #temp where name is not null
    OPEN my_cursor
    FETCH NEXT FROM my_cursor
    INTO @nameWHILE (@@FETCH_STATUS = 0)
    BEGIN
     select @i='master.dbo.xp_cmdshell ''osql -S servername -U userid -P password -drh -i'+@name+'''' 
     exec(@i)
     FETCH NEXT FROM my_cursor
     INTO @name
    ENDCLOSE my_cursor
    DEALLOCATE my_cursor