isqlw -S localhost -d master -U sa -P 123 -i E:\DBBackUp\backup.sql -o E:\DBBackUp\backup.log我用上面的语句执行数据库操作
backup.sql里的代码我到查询分析器里执行是没有问题的但是在bat里执行的时候提示.net 运行时的一个错误 未将对应引用到对象的实例

解决方案 »

  1.   

    bat 执行? 怎么又报 .net 的什么错误啊?
    你到底是怎么调用的呢?直接在命令提示符下执行有没有问题呢?
      

  2.   

    如果你要在程序中调用, 建议你使用 osql 取代 isqlw
    或者你直接用 sqldmo/smo(2005及之后的版本)
      

  3.   

    看看backup.sql里的代码?里面的表名、视图名记得写全路径:servername.dbname.dbo.tbname
    或者加上use dbname;以及必要的go
      

  4.   

    一般是没有NEW,调用之前要先NEW才行。
      

  5.   

    declare @chvSql varchar(max)
    set @chvSql =''
    select @chvSql = @chvSql +  'EXEC sp_addumpdevice ''disk'', '''+ dbo.funCreateDataBaseFileName(name) + ''',''K:\DBBackUp\'+ dbo.funCreateDataBaseFileName(name) + '.bak'';
    BACKUP DATABASE '+name+ ' to ' + 
    dbo.funCreateDataBaseFileName(name) + ';exec sp_dropdevice ' + dbo.funCreateDataBaseFileName(name) + ';'
    from sysdatabases where dbid >= 9 and dbid <> 12exec(@chvSql)这个是执行的代码
      

  6.   

    这个是我脚本文件里的代码这个代码可以执行没有问题我新建一个系统任务定时执行这个bat刚开始几天没有问题后来就出现问题了不知道怎么回事..
      

  7.   

    如果你要在程序中调用, 建议你使用 osql 取代 isqlw 
    或者你直接用 sqldmo/smo(2005及之后的版本)