Последние пару дней я пытался установить пакет службы sensenet с помощью SQL-аутентификации сервера.Ранее я мог успешно установить пакет через встроенную систему безопасности Windows, но выбрал проверку подлинности SQL Server.На данный момент Sensenet поддерживает только базы данных MS SQL, и именно с этим я и поехал.Я создал бесплатную базу данных MS SQL в AWS RDS без какого-либо предпочтения часового пояса, зоны доступности (us-east-1, но не указал, хочу ли я 1a, 1b, 1c и т. Д.) И все настройки по умолчанию.Читая из документов, он говорит, что по умолчанию он устанавливает мой часовой пояс как UTC, а в моей консоли созданный часовой пояс для моего экземпляра БД - GMT-400.Часовой пояс на моем локальном компьютере установлен на восточное стандартное время (UTC-05: 00).Теперь это где проблема возникает.
После выполнения шагов по установке пакета обслуживания и созданию решения я перешел в папку bin, в которой находится SnAdmin.exe, открыл командную строку в режиме администратора и набрал:
\snadmin install-services dataSource:some-amazon-endpoint.com initialCatalog:someDatabase
username:usernameToLoginInServer password:passwordToLoginInServer dbusername:nameOfUserInSomeDatabase
dbpassword:passwordOfUserInSomeDatabase
Все эти переменные необходимы для активации аутентификации SQL Server.Это трассировка стека, которую я получил после входа в фазу выполнения 2.
ApplicationException: Phase terminated with error: The UTC time represented when the offset is applied must be between year 0 and 10,000.
Parameter name: offset
at SenseNet.Packaging.PackageManager.ExecuteCurrentPhase(Manifest manifest, ExecutionContext executionContext) in E:\BuildAgent\_work\63\s\src\ContentRepository\Packaging\PackageManager.cs:line 165
at SenseNet.Packaging.PackageManager.Execute(String packagePath, String targetPath, Int32 currentPhase, String[] parameters, TextWriter console) in E:\BuildAgent\_work\63\s\src\ContentRepository\Packaging\PackageManager.cs:line 71
at SenseNet.Tools.SnAdmin.SnAdminRuntime.ExecutePhase(String packagePath, String targetDirectory, Int32 phase, String[] parameters, String logFilePath, Boolean help, Boolean schema) in E:\BuildAgent\_work\63\s\src\Tools\SnAdminRuntime\SnAdminRuntime.cs:line 191
---- Inner Exception:
ArgumentOutOfRangeException: The UTC time represented when the offset is applied must be between year 0 and 10,000.
Parameter name: offset
at System.DateTimeOffset.ValidateDate(DateTime dateTime, TimeSpan offset)
at System.DateTimeOffset..ctor(DateTime dateTime)
at SenseNet.ContentRepository.Storage.Caching.SnMemoryCache.Insert(String key, Object value, CacheDependency dependencies) in E:\BuildAgent\_work\63\s\src\Storage\Caching\SnMemoryCache.cs:line 49
at SenseNet.ContentRepository.Storage.DataBackingStore.CacheNodeHead(NodeHead head, String idKey, String pathKey) in E:\BuildAgent\_work\63\s\src\Storage\DataBackingStore.cs:line 136
at SenseNet.ContentRepository.Storage.DataBackingStore.GetNodeHead(Int32 nodeId) in E:\BuildAgent\_work\63\s\src\Storage\DataBackingStore.cs:line 65
at SenseNet.ContentRepository.User.get_Administrator() in E:\BuildAgent\_work\63\s\src\ContentRepository\User.cs:line 47
at SenseNet.ContentRepository.Security.DesktopAccessProvider.get_CurrentUser() in E:\BuildAgent\_work\63\s\src\ContentRepository\Security\DesktopAccessProvider.cs:line 36
at SenseNet.ContentRepository.Storage.Security.AccessProvider.ChangeToSystemAccount() in E:\BuildAgent\_work\63\s\src\Storage\Security\AccessProvider.cs:line 45
at SenseNet.ContentRepository.Security.DesktopAccessProvider.GetCurrentUser() in E:\BuildAgent\_work\63\s\src\ContentRepository\Security\DesktopAccessProvider.cs:line 52
at SenseNet.ContentRepository.Storage.Security.AccessProvider.ChangeToSystemAccount() in E:\BuildAgent\_work\63\s\src\Storage\Security\AccessProvider.cs:line 45
at SenseNet.ContentRepository.RepositoryInstance.DoStart() in E:\BuildAgent\_work\63\s\src\ContentRepository\RepositoryInstance.cs:line 141
at SenseNet.ContentRepository.RepositoryInstance.Start(RepositoryStartSettings settings) in E:\BuildAgent\_work\63\s\src\ContentRepository\RepositoryInstance.cs:line 107
at SenseNet.ContentRepository.Repository.Start(RepositoryStartSettings settings) in E:\BuildAgent\_work\63\s\src\ContentRepository\Repository.cs:line 55
at SenseNet.Packaging.Steps.StartRepository.Execute(ExecutionContext context) in E:\BuildAgent\_work\63\s\src\ContentRepository\Packaging\Steps\StartRepository.cs:line 55
at SenseNet.Packaging.PackageManager.ExecuteCurrentPhase(Manifest manifest, ExecutionContext executionContext) in E:\BuildAgent\_work\63\s\src\ContentRepository\Packaging\PackageManager.cs:line 112
===============================================================================
SnAdmin stopped with error.
Быстрый обходной путь
Изменение локального часового пояса на моей машине на UTC избавило отошибка.Это не идеально, потому что я хотел бы использовать правильный часовой пояс, который автоматически применяется моей машиной.Я просто не понимаю, почему происходит сбой, когда мой часовой пояс EST, так как я не уверен, имеет ли это отношение к sensenet или самому AWS.Любая помощь будет принята с благодарностью.