2016-03-30 11 views
3

Ich möchte Millionen von Zeilen in eine DashDB-Datenbank laden. mit Hilfe des DB2 CLI Nach dem Anschließen gebe ich einen Befehl wie:Kann db2 importiert oder geladen werden, um DashDB zu füllen?

db2 import from rowsToImport.csv of del insert into MY_TABLE 

mit den Ergebnissen: etwas falsch konfigurierte auf meinem Client

SQL0551N "DASHXXX" does not have the required authorization or privilege to 
perform operation "BIND" on object "NULLID.SQLUAJ19". SQLSTATE=42501 

Ist dies eine inhärente Beschränkung mit DashDB, oder? Ich erhalte eine ähnliche Meldung, wenn sie versuchen db2 load:

SQL2019N An error occurred while utilities were being bound to the database. 

P. S. Ich kenne den Rest Client API für DashDB zum Laden von Daten - ich frage speziell, wie/wenn Massenlasten mit der DB2-Befehlszeile als eine alternative Option durchgeführt werden können.

Antwort

2

Nach this technote gehört das Paket NULLID.SQLUAJ19 zu einem der frühen DB2 10.1 Fixpacks, so vermute ich, die Client-Version 10.1 ist. Beim Versuch, den Befehl IMPORT auszuführen, müssen einige Pakete dieser älteren Version gebunden werden, da das DashDB DB2 10.5 ist.

Sie können versuchen, das neueste DB2-Client-Fixpack zu installieren, da die erforderlichen Pakete möglicherweise bereits in der Datenbank gebunden sind.

Um zu überprüfen, ob Sie select pkgname from syscat.packages where pkgschema = 'NULLID' and pkgname like 'SQLUA%' ausführen können, sollten Sie "SQLUAK20" sehen, was das entsprechende Paket in DB2 10.5 zu sein scheint.

Wenn dies nicht funktioniert, besteht die andere Möglichkeit möglicherweise darin, zu einer dedizierten dasthDB-Instanz zu wechseln, da Sie nicht über ausreichende Berechtigungen zum Binden fehlender Pakete im geteilten DashDB-Dienst auf Eintragsebene verfügen.

+0

Das war es - ein Upgrade auf DB2 10.5 Client hat es geschafft. Vielen Dank! –

3

Gemäß dashDB documentation können Sie die Command line processor plus (CLPPlus) verwenden. Sie ist im Paket des dashDB-Treibers enthalten und stellt eine Befehlszeilenbenutzerschnittstelle bereit, mit der Sie sich mit der dashDB-Datenbank BLUDB verbinden können. Sie können CLPPlus zum Definieren, Bearbeiten und Ausführen von Anweisungen, Skripts und Befehlen verwenden. Sehen Sie sich auch Connecting CLPPlus to the dashDB database an, um zu sehen, wie Sie die CLI verbinden und verwenden.

Bitte beachten Sie, dass in CLPPlus: IMPORT, EXPORT und LOAD Befehle eine Einschränkung haben, dass verarbeitete Dateien auf dem Server sein müssen: siehe here. Daher sollten Sie die Eingabedatei zunächst mit SCP auf den Remote-Server kopieren. Das SSH/SCP-Protokoll sollte jedoch für einen normalen dashDB-Benutzer blockiert (nicht zugänglich) sein.

Es können nur Geodaten von Ihrem lokalen Computer in dashDB geladen werden. Verwenden Sie hierzu IDA LOADGEOSPATIALDATA command in CLPPlus. Die mit dem obigen Befehl in dashDB zu ladende Datei kann sich im lokalen Dateisystem befinden, auf das der CLPPlus-Benutzer zugreifen kann.

Alternative Möglichkeiten zu tun, das sind:

+0

Hallo @Umberto Manganiello, danke für deine Antwort.Ich verwende die DB2 CLI, die anscheinend unterstützt wird (siehe Antwort [hier] (https://developer.ibm.com/answers/questions/25034/unable-to-load-large-csv-file-in-blu) Beschleunigung-für-Wolke /)). Können Sie überprüfen, ob das Laden/Importieren explizit von der normalen DB2 CLI (nicht CLPPlus) in DashDB erlaubt/nicht erlaubt ist? –

Verwandte Themen