2016-10-31 2 views
0

Je cours mon package SSIS dans SSDT et Success, mais lorsque j'exécute le package à l'aide de SQL Agent et que j'obtiens une erreur.Exécution de l'erreur de package SSIS dans l'agent SQL

Le message d'erreur est inférieure à

copy_r_bp:Error: System.Data.Odbc.OdbcException (0x80131937): ERROR [HY001] Out of memory while reading tuples. 
    at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) 
    at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) 
    at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) 
    at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior) 
    at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior) 
    at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) 
    at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PreExecute() 
    at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper) 

Pouvez-vous me aider? Ou existe-t-il une solution pour définir la planification pour exécuter le package?

Merci

+0

Que contient-elle? Quel est l'objet utilisant la connexion odbc? Quelle est la taille des données dans la source odbc? S'il vous plaît nous donner plus d'infos sur le paquet que vous avez construit. – Hadi

+0

Je crée une connexion entre mssql et postgre en utilisant datasource32. Je ne sais pas pourquoi quand j'utilise datasource64 ne peut pas se connecter. la taille des données est seulement 200k enregistrement – Henry

Répondre

0

L'erreur est directe et vous indique exactement le problème: vous utilisez toute la mémoire. Solution: au lieu d'une grande lecture, divisez votre lecture en partitions plus petites et lisez tout en utilisant un cycle.

+0

J'ai vérifier ma mémoire de RAM est toujours suffisante – Henry

+1

Cela peut être plus compliqué que cela. Nous avons eu une occasion où un serveur, avec beaucoup de RAM, ne pouvait pas exécuter un paquet développé et testé sur un ordinateur sous-alimenté. Dans notre cause, l'exécution parallèle était à blâmer. Vous devez passer en revue toutes les différences entre l'exécution en tant que vous, sur un poste de travail dans VS et en tant qu'agent sur le serveur. –