Ошибка при загрузке изображения с использованием srrs с использованием rs.exe -"В структуре ввода отсутствует обязательное поле Свойство"
Сценарий: загрузка изображения с использованием srrs с использованием rs.exe (с использованием кода, а не GUI)
Среда: Sql server 2012, rs.exe, vb.script
'Utility to Publish the Png file ( snippet)
'Sample inputs PublishImageFile("myimagefilename.png", "image/png")
Public Sub PublishImageFile(ByVal imageName As String,ByVal resourceMIME As String)
Try
Dim stream As FileStream = File.OpenRead(filePath + "\" + imageName)
definition = New [Byte](stream.Length - 1) {}
stream.Read(definition, 0, CInt(stream.Length))
stream.Close()
Catch e As IOException
Console.WriteLine(e.Message)
End Try
imageName = imageName.tostring.replace(".png", "")
Console.WriteLine("Attempting to Deploy Resource Name {0}", imageName.tostring)
Dim item As CatalogItem
Dim mimeProperty As New Microsoft.SqlServer.ReportingServices2010.Property
mimeProperty.Name = "MimeType"
mimeProperty.Value = resourceMIME
Dim properties(1) As Microsoft.SqlServer.ReportingServices2010.Property
properties(0) = mimeProperty
Try
item = rs.CreateCatalogItem("Resource", imageName, ReportFolder, True,
definition, properties, warnings) 'Error line
'More code below removed for brevity
Я получаю ошибку в последней строке выше
Обязательное поле Свойство отсутствует во входной структуре. ---> Microsoft.ReportingServices.Diagnostics.Utilities.MissingElementException: обязательное поле Свойство отсутствует в структуре ввода.
Какие параметры требуются в объекте свойств для устранения проблемы.
Я не нашел то же самое в методе CreateCatalogitem в MSDN https://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.createcatalogitem(v=sql.120).aspx
Ни в описании элемента каталога в MSDN
https://msdn.microsoft.com/en-us/library/reportservice2010.catalogitem.aspx
Из сообщения об ошибке и исследования выясняется (мое предположение), что обязательное поле с именем "Свойство" может отсутствовать в массиве свойств. Но какова будет его ценность?
Пожалуйста, поделитесь вашими предложениями и решениями или, возможно, даже используйте код, альтернативный rs.exe, для автоматизации развертывания образов в ssrs с использованием скрипта
1 ответ
Я нашел ответ. Я просто добавил дополнительное свойство с именем property и name в качестве имени файла непосредственно перед методом CreateCatalogItem, и это сработало!
Dim propertyItem As New Microsoft.SqlServer.ReportingServices2010.Property
propertyItem.Name = "Property"
propertyItem.Value = imageName
properties(1) = propertyItem