|
|
#3 |
|
Участник
|
После правки серверного режима ошибка с правами ушла, но бэкап почему-то не хотел создаваться (вернее файл создавался, но удалялся и бэкап падал с ошибкой, по логам не смог понять в чем дело). Решил попробовать подключиться через оледб - помогло, бэкап начал создаваться
X++: static void tryBackUpOLEDB(Args _args) { System.Exception e; System.Data.OleDb.OleDbConnection objConn; System.Data.OleDb.OleDbCommand cmdSelect; InteropPermission perm; SysSQLSystemInfo SQLSystemInfo = SysSQLSystemInfo::construct(); str connectStr = "Provider=MSOLEDBSQL.1;Integrated Security=SSPI;"+ strFmt("Persist Security Info=False;Initial Catalog=%1;Data Source= %2 ", SQLSystemInfo.getloginDatabase(), SQLSystemInfo.getLoginServer()); str exceptionStr; MenuFunction mf; date m_dateBackUp = systemDateGet(); Filename m_backUpFileName = "E:\\file.bak"; str _backupName = 'test2'; str strSQL; ; if ( ! isRunningOnServer()) { mf = classFactory::makeObjectOnServer(classNum(MenuFunction)); mf.objectType(MenuItemObjectType::Job); mf.runOn(ClassRunMode::Server); mf.object(funcName()); mf.run(); return; } strSQL = StrFmt("BACKUP DATABASE [%1]" + " TO DISK = N'%2'" + " WITH COMPRESSION," + " NOFORMAT," + " NOINIT," + " NAME = N'%3'," + " SKIP", SQLSystemInfo.getloginDatabase(), m_backUpFileName, _backupName); try { perm = new InteropPermission(InteropKind::ClrInterop); if (perm == null) { throw error("Error with file permissions"); } perm.assert(); objConn = new System.Data.OleDb.OleDbConnection(connectStr); objConn.Open(); cmdSelect = objConn.CreateCommand(); cmdSelect.set_CommandText(strSQL); cmdSelect.ExecuteReader(); } catch(Exception::CLRError) { CodeAccessPermission::revertAssert(); perm = new InteropPermission(InteropKind::ClrInterop); if (perm == null) { return; } perm.assert(); e = ClrInterop::getLastException(); CodeAccessPermission::revertAssert(); while( e ) { exceptionStr += e.get_Message(); e = e.get_InnerException(); } info(exceptionStr); } catch { error("An Exception has occurred"); } if(objConn) objConn.Close(); } Последний раз редактировалось Mifeus; 02.02.2026 в 15:16. |
|
|
|
| За это сообщение автора поблагодарили: sukhanchik (5). | |