Es fühlt sich an, als ob du Gegenstände vermischst. Die Parametrisierung ?
ist ein Platzhalter für eine Variable, die Sie in einer OLE DB-Quellkomponente auf die Schaltfläche Parameter und Map klicken.
Da Sie jedoch den SQL-Befehl aus einer Variablen verwenden, können Sie die Parameterisierungsoption nicht verwenden, wahrscheinlich weil das Risiko besteht, dass ein Benutzer die Form der Ergebnismenge über Expressions ändert hoch.
Also, einen Pick - entweder „SQL-Befehl“ mit dem richtigen parametetization oder „SQL-Befehl aus Variable“, wo Sie in Ihren Parametern in einem schrecklichen String Gebäude Art und Weise wie Dynamically assign value to variable in SSIS SQL Server 2005/2008/2008R2 Personen hinzufügen, beachten Sie, dass Sie sind auf 4k Zeichen in einer Zeichenfolgenvariablen beschränkt, die Ausdrücke verwendet.
Basierend auf dem Kommentar von "Grundsätzlich, was ich versuche zu tun ist, verwenden Sie die Ergebnisse einer Abfrage aus einer SQL Server-Tabelle (dh .. account Zahlen) und Datensätze aus Oracle-Verweis die Ergebnisse aus der SQL-Abfrage ziehen"
Es gibt zwei Möglichkeiten, dies zu umgehen. Mit dem, was Sie gerade entwickelt haben, steht meine obige Antwort immer noch. Sie vernichten die Kontonummern und verwenden diese als Filter in Ihrer Abfrage an Oracle. Dadurch wird für jede Kontonummer eine Abfrage an Oracle gesendet. Das kann oder darf nicht wünschenswert sein.
Der Vorteil dieses Ansatzes besteht darin, dass Sie mehrere Zeilen abrufen können. Unter der Annahme, dass Sie Informationen vom Typ "Kundenauftrag" abrufen, hat eine Kontonummer wahrscheinlich viele Kundenauftragszeilen.
Wenn Sie jedoch mit etwas arbeiten, das eine Null-zu-Eins-Zuordnung mit den Kontonummern hat, wie z. B. Daten auf Kontoebene, können Sie den von Ihnen gewählten Ansatz vereinfachen. Verschieben Sie Ihre SQL Server-Abfrage in eine OLE DB-Quellkomponente in Ihrem Datenfluss.
Dann, was Sie suchen, ist die Lookup-Komponente. Damit können Sie eine bestehende Datenzeile mit zusätzlichen Daten anreichern. Hier geben Sie eine Abfrage wie "SELECT AllTheColumnsICareAbout, AccountNumber FROM schema.Table" an. Anschließend ordnen Sie die Kontonummer der OLE DB-Quelle der in der Suchkomponente zu und klicken Sie auf das Häkchen neben allen Spalten, um die die vorhandene Zeile ergänzt werden soll.
Das ist kein SQL-Befehl von Variable. SQL-Befehl von Variable ist, wenn Ihre gesamte SQL-Zeichenfolge in einer Variablen enthalten ist. –