DECLARE @tableName VARCHAR(MAX) = 'm_PWT' DECLARE @columnName VARCHAR(MAX) = 'countInDoc' DECLARE @ConstraintName nvarchar(200) SELECT @ConstraintName = Name FROM SYS.DEFAULT_CONSTRAINTS WHERE PARENT_OBJECT_ID = OBJECT_ID(@tableName) AND PARENT_COLUMN_ID = ( SELECT column_id FROM sys.columns WHERE NAME = @columnName AND object_id = OBJECT_ID(@tableName)) IF @ConstraintName IS NOT NULL EXEC('ALTER TABLE '+@tableName+' DROP CONSTRAINT ' + @ConstraintName)
Автор: Андрей
Get list of AD groups a user is a member of
Нужно получить список групп пользователя домена.
Самое простое
Для текущего пользователя:
net user userxxx /domainно наименование группы обрезается до 21 символа, печалька Воспользуется повершелом
Для текущего пользователя:
Для указанного:(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf
$env:username="userxxx";(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf
Download and merge HTTP Live Streaming .ts files
Скачиваем и собираем кусочки видео и отдельно аудио файлов (в данном случае их там тысячи, в m3u8) в один с подготовкой к проигрыванию стандартным элементом html5
пытаемся избавиться от рассинхронизации видео и звука, -copyts -muxpreload 0 -muxdelay 0 -af «aresample=async=1000»
видео поток просто копируем, звук конвертируем в -acodec mp3
подготавливаем к просмотру html5 элементом video, -movflags faststart
(ссылки нерабочие)/usr/local/bin/ffmpeg -copyts -i "https://media-store-n.ru/api/v1/buckets/hls.webinar.ru/objects/56547.audio.128kbps.master.m3u8" -copyts -i "https://media-store-n.ru/api/v1/buckets/hls.webinar.ru/objects/56547.video.720p.master.m3u8" -muxpreload 0 -muxdelay 0 -vcodec copy -acodec mp3 -af "aresample=async=1000" -movflags faststart "/usr/local/www/nginx-mneti/dv/loaded/56547.mp4"
пытаемся избавиться от рассинхронизации видео и звука, -copyts -muxpreload 0 -muxdelay 0 -af «aresample=async=1000»
видео поток просто копируем, звук конвертируем в -acodec mp3
подготавливаем к просмотру html5 элементом video, -movflags faststart
http streamed MP4 video seekable with php-frm and nginx
Видео проигрывается, заставим работать быструю перемотку (без скачивания всего файла)
Воспользуемся возможностями нгинкса, именно он будет обрабатывать заголовки с «Content-Range»
Воспользуемся возможностями нгинкса, именно он будет обрабатывать заголовки с «Content-Range»
часть содержимого getmp4.php, что-то там анализируем в php и если все ок, отдаем полный контроль по отдаче фала в nginx
настройка реального расположения файлов nginx.conf$file = intval($_GET['vid']??0) . '.mp4'; header("Content-Type: video/mp4"); header( 'X-Accel-Buffering: no' ); //avoid nginx buffering. header("X-Accel-Redirect: /stream_video/$file"); exit;
location /stream_video { internal; alias /var/www/video; }
AcceptSecurityContext failed with. [0x8009030C]
При попытке SSO авторизации на той же машине, где расположен сам сервис авторизации (sso-proxy) получал ошибку
AcceptSecurityContext failed with. [0x8009030C]
Помогло так
HKLM\System\CurrentControlSet\Control\LSA Add a DWORD value called “DisableLoopbackCheck” Set this value to 1
AcceptSecurityContext failed with. [0x8009030C]
Помогло так
HKLM\System\CurrentControlSet\Control\LSA Add a DWORD value called “DisableLoopbackCheck” Set this value to 1
SQL data types from my query
Иногда нужно узнать типы возвращаемых запросом данных, например для объявления табличной переменной.
Начиная с 2012 SQL Server это легче легкого, для более ранних версий придется создавать временную таблицу из результата запроса, и затем в tempdb.sys.columns.
Начиная с 2012 SQL Server это легче легкого, для более ранних версий придется создавать временную таблицу из результата запроса, и затем в tempdb.sys.columns.
DECLARE @query nvarchar(max) = ' select id, measEquiId, zipFlag, psId, dateSet, replaceId, pl1, pl2, pl3, phase, place, joinName, created, whoCreate, dateReplace from ( select id, measEquiId, zipFlag, dateSet dateReplace, created, whoCreate from [MetrologDev].[dbo].m_eqPlaceParamsList ep where ep.deleted is null and ep.zipFlag = 35 and ep.psId = 0 and ep.replaceId=0 and not exists (select null from [MetrologDev].[dbo].m_eqPlaceParamsList ep2 where ep2.deleted is null and ep2.measEquiId = ep.measEquiId and ep2.psId <> 0 and ep2.replaceId=0 and ep2.id > ep.id) ) inZip outer apply ( select id id_r, psId, dateSet, replaceId, pl1, pl2, pl3, phase, place, joinName, created created_r, whoCreate whoCreate_r from ( select row_number() over(order by id desc) rn, * from [MetrologDev].[dbo].m_eqPlaceParamsList ep where inZip.measEquiId=ep.measEquiId and ep.deleted is null and ep.zipFlag = 0 and ep.replaceId<>0)tt where rn=1) isRepl -- пока можно только менять, если снимать, то убираем условие ep.replaceId<>0 '; EXEC sp_describe_first_result_set @query, null, 0;
MariaDB update records or cteate table from CTE
CTE в марии это хорошо, но как сохранить результаты. В документации не нашел, аналогия с SQL Server не работает.
update load0 l join ( with t1 as ( select row_number() over (partition by col1, substring(col2, 1, 15), col3, regexp_replace(regexp_substr(col4, '^[^|]*'),'[^а-я]',''), col6, regexp_replace(regexp_substr(col7, '^[^|]*'),'(http)*(s)*(www.)*[\/\:]',''), lower(col8), col9, col10 order by col11_id, col12_id) rn, l0.* from load0 l0 ) select * from t1 ) t on (l.id=t.id) set l.client_number = t.rn ; create table col12 with t1 as ( select col11, col12, count(*) cnt from load0 group by col11, col12 ), t2 as ( select *, dense_rank() over (order by col11 desc) col11_id, dense_rank() over (partition by col11 order by col12) col12_id from t1 ) , t3 as ( select distinct col11, col11_id from t2 ) select col11_id, col12_id, col12 from t2 ;
Authentication requests when you open Office documents in IE
При скачивании документов «Content-Type: application/msword» в ИЕ появляются окна авторизации. А появляются они из-за того что ИЕ шлют кучу служебных запросов «Microsoft Office Discovery». Ставим заглушку, можно было и в модреврайт поставить, я добавил на уровне пхп, дабы не зависеть от настроек апача.
// https://support.microsoft.com/en-us/help/2019105/authentication-requests-when-you-open-office-documents // https://support.microsoft.com/en-ph/help/838028/how-documents-are-opened-from-a-web-site-in-office-2003 $matches = null; $isIEzzz = preg_match('/^\\s*Microsoft((\\s+Office\\s+.*\\s+Discovery)|(-WebDAV-MiniRedir))/i', $_SERVER['HTTP_USER_AGENT'], $matches); if ($isIEzzz === 1) { http_response_code(501); // 501 Not Implemented exit; }
SELECT FROM stored procedure
Выборка из хранимой процедуры, первоначально условий не было, понадобились, сгородили огород, можно было использовать временную таблицу или табличную переменную.
Было
Было
Сталоdeclare @d1 datetime = convert(datetime, '{$p->dateFromQ}', 104), @d2 datetime = convert(datetime, eomonth(convert(datetime, '{$p->dateToQ}', 104))) + 1.0/1.000001; exec {$this->db_our}perfReport @d1, @d2;
select * from openquery([LOOPBACK], ' declare @d1 datetime = convert(datetime, ''{$p->dateFromQ}'', 104), @d2 datetime = convert(datetime, eomonth(convert(datetime, ''{$p->dateToQ}'', 104))) + 1.0/1.000001; exec {$this->db_our}perfReport @d1, @d2 with result sets (( price decimal(25,3), selectedCnt int ,selectedSum decimal(38,3) ,smoot1 int ,smoot2 int ,approvedInPmes int ,selected int, inOther int ,id int ,h1_id int ,h2_id int ,h3_id int ,h1_name varchar(128) ,h2_name varchar(128) ,h3_name varchar(128) ,h3_extId int ,documentID int ,dName varchar(128) ,entity varchar(255) ,createdD datetime ,createdDH varchar(30) ,docDateH varchar(30) ,TIName varchar(4000) ,vr float ,cnt int ,measEquiId int ,pfId int ,unitPriceId int ,intEntityType int ,hashedName varchar(128) ,originalName varchar(256) ,moot int ,moot1 int ,moot2 int ,etName varchar(128) ,ekName varchar(255) ,ekId int ,serialNumber varchar(64) ,workNameF varchar(258) ,priceN decimal(14,3) ,kindId2 int ,isPriced int ))') where docDateH between convert(datetime, '{$p->dateFrom}', 104) and convert(datetime, '{$p->dateTo}', 104) + 1.0/1.000001
Windows 10 возвращаем «Средство Просмотра фотографий Windows»
При «чистой» установке windows 10 «Средство Просмотра фотографий Windows» более недоступно, исправляем ситуацию добавив несколько записей в реестр.
Скачиваем, открываем архив, запускаем, соглашаемся на отсутствие подписи, внесение изменений и тд. Activate Windows Photo Viewer on Windows 10.reg.zip
Открываем «Приложения по умолчанию» выбираем «Просмотр фотографий Windows».
Скачиваем, открываем архив, запускаем, соглашаемся на отсутствие подписи, внесение изменений и тд. Activate Windows Photo Viewer on Windows 10.reg.zip
Открываем «Приложения по умолчанию» выбираем «Просмотр фотографий Windows».