我在制作安装脚本的时候,总是提示‘**.MDF设备激活可能有误‘
 路径都正确,为什么不能附加成功????
 SQLServer, Database, DBFile, LogFile: Variant;     SQLServer := CreateOleObject('SQLDMO.SQLServer');
      DbName:=test;
      SQLServer.LoginSecure := True;
      SQLServer.Connect(SQLServerName);     FileName1:= ExpandConstant('{app}')+'\test_Data.MDF';
     Filename2:= ExpandConstant('{app}')+'\test_Log.LDF';
     
     {附加数据库}
     dbPath:= FileName1+' , '+Filename2;
     try
        MsgBox(DBName+dbpath, mbInformation, mb_Ok);
        SQLServer.AttachDB(DBName, dbPath);
     except
         MsgBox('数据库安装失败!', mbInformation, mb_Ok);
         exit;
      end;
  总是提示'Microsoft SQL_Demo SQlstate:42000):[Microsoft][ODBC Sqlserver Driver ][SQLserver]设备激活有误,
  物理文件 ’C:\Program File'有误 
   用MsgBox查看 目录是正确的,是怎么回事?

解决方案 »

  1.   

    命令行直接调用sp_attach_db存储过程
    EXEC sp_attach_db @dbname = 'DBName', @filename1 = '*.mdf', @filename2 = '*.log'
      

  2.   

    Inno setup 如何执行命令行?
      

  3.   

     奇怪 我把程序路径改为C盘 就能附加成功
    FileName1:='C:\test_Data.MDF';
    FileName2:='C:\test_Log.LDF';
      

  4.   

    有人用过没有 指点一下 为什么。
    我用其它任何目录都可以,就是不能用Program Files 文件夹,C盘和D盘的都不行