微软SQLDmo 的一个小BUG,?

          今天在用sqlDMO做数据备份和恢复时,Cannot open backup device 。根据经验应该是路径输出的有问题,仔细看了一下代码,没有任何问题,那就奇怪了,我在本机测试没有问题,在测试部就出问题了;环境原因,由于我用的是V 8.5 而目标机需要测试MSDE,应该兼容啊,不过还好,这个问题马上被排除,测试机也有8.5了,纳闷半分钟,我想莫非是由于程序本身的路径。。。。
         System.Runtime.InteropServices.COMException (0x80040C81):
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot open backup device '.\Settings\a\桌面\Release\BackUp\20080311115800RemtLvFP.BAK'. Device error or device off-line. See the SQL Server error log for more details.
[Microsoft][ODBC SQL Server Driver][SQL Server]BACKUP DATABASE is terminating abnormally.   在 SQLDMO.BackupClass.SQLBackup(_SQLServer ServerObject)
           测试机的路径在桌面:
            
           更换路径:C:盘
          
           总需要有个解决办法呀:路径问题,系统中的 .\ 和“系统盘”:\Documents and Settings 等价 例如:C:\Documents and Settings
            private static string SpecialReplace(string path)
           {
                  string combine = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
                  string[] paths = combine.Split('\\');
                  path = path.Replace(@".\Settings", String.Format(@"{0}\{1}", paths[0], paths[1]));
                  return path;
           }
          
 这种测试和解决办法有点丑陋,不过基本路径是:能最快解决问题的办法是好办法,不过最好釜底抽薪,是否是微软的BUG?


posted @ 2008-03-11 12:51  winzheng  阅读(627)  评论(3编辑  收藏  举报