Tipps zum Arbeiten mit Binärspalten im Jitterbit App Builder
Aus Performancegründen sollten Sie bei App Builder-Apps einem Business-Objekt nur dann eine binäre Spalte hinzufügen, wenn Sie diese Spalte in einem Dateisteuerelement verwenden möchten. Wenn Sie ein Business-Objekt mit einer Tabelle erstellen, die binäre Spalten enthält, wählen Sie nicht die Schaltfläche Alle, um alle Spalten hinzuzufügen, es sei denn, das Objekt wird zur Anzeige eines Dateisteuerelements in einem Panel verwendet. Es lohnt sich, Business-Objekte speziell für Panels zu erstellen, in denen Dateien hoch-/heruntergeladen werden. Überlegen Sie außerdem, ob Sie möglicherweise ein Business-Objekt zu einer Benutzer-/Parametertabelle hinzugefügt und es zu anderen Business-Objekten hinzugefügt und dann alle Spalten ausgewählt hätten.
Wenn Sie ein mehrzeiliges Panel (MRP) mit 25 zurückgegebenen Datensätzen haben und im Business-Objekt dahinter ein Binärfeld ausgewählt ist, werden bei jeder Darstellung des Panels alle 25 Dateien abgerufen. Wenn das Business-Objekt 4 Binärdateien enthält, werden bei jeder Darstellung des Panels 100 Dateien abgerufen.
Wenn Sie möchten, dass eine Datei von einem MRP heruntergeladen werden kann, sollten Sie die Download-Schaltfläche auf einer versteckten Seite aufrufen, damit die Datei nicht als Teil der MRP-Panel-Wiedergabe abgerufen wird.
Nachfolgend finden Sie eine Abfrage, die Sie auf Ihrem Server ausführen können, um EINIGE der Dateien in einem Geschäftsobjekt hinter einem Bereich zu finden, in dem die Datei nicht in einem Steuerelement verwendet wird:
SELECT TOP (100) PERCENT Ui_Control_1.Name AS Page, dbo.Ui_Control.Name AS Panel, dbo.Db_Table.Name AS DataObjectName, dbo.Db_Column.Name AS ColumnName
FROM dbo.Ui_Control INNER JOIN
dbo.Ui_Control AS Ui_Control_1 ON dbo.Ui_Control.RootControlId = Ui_Control_1.ControlId INNER JOIN
dbo.Db_Table ON dbo.Ui_Control.SourceTableId = dbo.Db_Table.TableId INNER JOIN
dbo.Db_Column ON dbo.Db_Table.TableId = dbo.Db_Column.TableId INNER JOIN
dbo.Db_Column AS Db_Column_1 ON dbo.Db_Column.TargetColumnId = Db_Column_1.ColumnId INNER JOIN
dbo.Db_StorageDataType ON Db_Column_1.StorageDataTypeId = dbo.Db_StorageDataType.StorageDataTypeId LEFT OUTER JOIN
dbo.Ui_Control AS Ui_Control_2 ON dbo.Ui_Control.ControlId = Ui_Control_2.PanelControlId AND dbo.Db_Column.ColumnId = Ui_Control_2.SourceColumnId
WHERE (dbo.Ui_Control.ControlTypeId = '81d20b00-15b2-f8c3-7fe1-d889d9c7e95f') AND (dbo.Db_StorageDataType.Name = N'binary') AND (Ui_Control_2.ControlId IS NULL)
ORDER BY DataObjectName
Hinweis
Beim Abrufen der Ergebnisse des Business-Objekts hinter einem Panel werden nur die für die Steuerelemente benötigten Spalten abgerufen, es sei denn, Sie verwenden bedingte Formatierung. In diesem Fall werden alle Spalten für die bedingte Logik abgerufen.