Eine Verbindung zu IBM DB2 mit .Net mit nur .dll-Verweis
Möchte ich verbinden mit einer DB2-Datenbank, insbesondere einer iSeries-version, verwenden .Net und C# durch die Referenzierung ein .dll und NICHT Installation jeglicher software auf dem server. Derzeit verwenden wir die IBM.Data.DB2.iSeries.dll, die installiert ist als Bestandteil von iSeries access für windows. Ich will nicht zu installieren, all das. Aber anscheinend habe ich nicht eine option, weil der andere Anbieter IBM.Data.DB2.dll auch erfordert, dass Sie software installieren, bevor Sie die Arbeit nach, um diese über die stackoverflow-post: IBM.Daten.DB2
Ist es eh zu verbinden .Net c# - code zu DB2 einfach durch verweisen auf eine .dll in deinen code und NICHT die Installation anderer software auf dem server?
Ich weiß, Sie können dies tun, mit Java und der JT Open toolbox (http://jt400.sourceforge.net/). Warum kann man nicht dies mit .Net?
Hier ist ein BASIC Beispiel, wie wir derzeit verwenden IBM.Data.DB2.iSeries.dll.
String sql = "SELECT 1 FROM SCHEMAX.TABLEX";
System.Data.IDbConnection connection = null;
IDataReader reader = null;
try
{
connection = new iDB2Connection(ConfigurationManager.ConnectionStrings.ConnectionString);
connection.Open();
IDbCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = sql;
reader = command.ExecuteReader();
}
finally
{
try { reader.Close(); } catch (Exception ex) { }
try { connection.Close(); }catch (Exception ex) { }
}
Vielen Dank für Ihre Zeit,
welzie
- Sie brauchen nicht zu installieren zusätzliche software auf dem server, es kommt vorinstalliert mit dem OS. Oh, du meinst die client =P
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Frage beantwortet wurde in einem IBM-forum. Hier sind die Antworten.
https://www.ibm.com/developerworks/community/forums/html/threadTopic?id=77777777-0000-0000-0000-000014491597
Answer1:
Hi Welzie,
Während ich bin nicht vertraut mit der JT Open pro Produkt sagen, ist es sehr wahrscheinlich, basierend auf einer Typ-4-JDBC-Treiber, was ist ein Java-Treiber, der nur auf der client-Seite ( im Gegensatz zu älteren Typ-2-JDBC-Treiber, die benötigt eine nicht-Java-Komponente auf dem client ). Ein Java-Treiber, ermöglicht JT Open zu tun, was Sie beschreiben.
Die .NET-Treiber hat jedoch eine viel kompliziertere Abhängigkeit der Struktur, und als solche, erfordert mehrere DLLs zu werden, legte sich auf den Kunden, managed und un-managed. Außerdem wird die Konnektivität zu einem iSeries-server würden auch verlangen, dass eine DB2 Connect-Lizenz, um auf dem client verfügbar sein. Daher wird die minimale client-Installation erforderlich ist, zu unterstützen .NET-Verbindung zu einem DB2-server wird von IBM Data Server-Treiber ( das ist etwa 40 MB installiert ). IBM Data Server Driver ist eine frei distributred client-Paket, das heruntergeladen werden kann von der IBM website. Allerdings, wie ich oben sagte, um eine Verbindung zu einem iSeries-server benötigen Sie eine DB2 Connect-Lizenz als auch.
Grüße,
Alex
Answer2:
Die IBM.Data.DB2.iSeries.dll Anbieter erfordert in vielen anderen teilen der IBM i Access für Windows-Produkt, zum Beispiel zum verarbeiten des TCP/IP Kommunikations-stack, security/Anmeldung Handhabung, CCSID Umbauten, etc. Es kann nicht kopiert oder installiert als standalone dll.