Ho un rapporto in cui ricevo casualmente il seguente errore dopo aver premuto il pulsante "Visualizza rapporto" (perché in questo rapporto devo prima selezionare un valore di parametro dal campo a discesa):
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'my_very_special_dataset'. (rsErrorExecutingCommand)
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "My_linked_postgresql_server".
La mia domanda è: quale può essere la causa di questo messaggio di errore?
Cosa posso escludere come causa: di
solito il controllo delle autorizzazioni è indicato come un consiglio o verifica se i campi di un set di dati corrispondono ancora ai campi di quella vista SQL o tabella che utilizza. Ma entrambi possono essere esclusi poiché accade in modo casuale. Inoltre, i parametri non possono essere la causa perché con gli stessi parametri a volte può funzionare e simtes mi dà quell'errore.
L'ambiente in cui si verifica l'errore:
l'errore si verifica solo quando viene aperto tramite il browser in Gestione report (ovviamente il report è stato distribuito lì in precedenza) ma MAI si è verificato durante l'apertura del report con la funzionalità "Esegui" nel report di SQL Server costruttore.
Informazioni sui set di dati:
i set di dati del report utilizzano solo visualizzazioni che ho definito sul server con lo studio SQL Server Management, senza tabelle, procedure o funzioni. Tuttavia le viste stesse utilizzano funzioni e raccolgono anche informazioni tramite OPENQUERY da un server PostgreSQL collegato. Nessuno dei set di dati utilizza filtri ma utilizza il parametro nella clausola Where.
Versioni degli strumenti citati:
utilizzo SQL Server Management Studio (SSMS) versione 13.0.16106.4 e SQL Server Report Builder versione 3.0.