PDA

View Full Version : C# DB2Connection



kitvb1
07-02-19, 06:06
Hallo Leute,

ich schreibe von Login des Kollegen.

Ich versuche bisher vergebens, im C# mittels DB2 Connection (IBM.Data.DB2) eine Verbindung aufzubauen. Ich hab gefühlt das ganze Internet durchsucht und überall findet man unterschiedliche ConnectionStrings.

Am ehesten passt nach meiner Auffasung der DB2 .Net Data Provider:
"<code>Server=myAddress:myPortNumber;Database=myDataBase; UID=myUsername;PWD=myPassword;"

Allerings bekomme ich nach einiger Zeit ein TimeOut. Ohne Port erhalte ich entweder die Meldung "Ugültiger Ausdruck" oder folgende:

"{"ERROR [08001] [IBM] SQL30081N Kommunikationsfehler. Verwendetes Kommunikationsprotokoll: "TCP/IP". Verwendete Kommunikations-API: "SOCKETS". Position, an der der Fehler erkannt wurde: "123.12.12.12". Übertragungsfunktion, die den Fehler festgestellt hat: "connect". Protokollspezifische(r) Fehlercode(s): "10061", "*", "*". SQLSTATE=08001\r\n"}" (IP geändert)

Hat das jemand schonmal versucht?

Ziel ist es mittels DB2BulkCopy Daten aus der Datatable in die AS400 zu schreiben.

Danke + Gruß

David
</code>

Fuerchau
07-02-19, 08:41
DB2Connection setzt den DRDA-Dienst auf der AS/400 voraus, dürfte aber geringfügig inkompatibel sein.
Client Access bring da seinen eigenen .NET-Treiber mit.
Diesen findest du in dem Programmverzeichnis von CA.
Alternativ funktioniert auf jeden Fall der ODBC-Treiber von CA.
Hierfür richtest du per ODBC-Verwaltung (32/64-Bit) eine Verbindung ein und kannst dann per ODBC-Provider zugreifen.
Allerdings gibt es keinen BulkCopy. Du musst ein Insert-Command schreiben und kannst die Daten i die AS/400 schieben.

Wenn du die Daten in Excel vorliegen hast (geht ja bis 1Mio Zeilen) kannst du auch gerne mein Upload/400 verwenden;-).