- Überblick
- Kryptografie
- Datenbank
- Java
- Python
- WebAPI
- Versionshinweise
- Über das WebAPI-Aktivitätspaket
- Projektkompatibilität
- XML deserialisieren (Deserialize XML)
- XPath ausführen (Execute XPath)
- XML-Knotenattribute erhalten (Get XML Node Attributes)
- XML-Knoten erhalten (Get XML Nodes)
- JSON serialisieren
- Deserialize JSON
- JSON-Zusammenstellung deserialisieren (Deserialize Json Array)
- HTTP Request (legacy)
- HTTP-Anfrage (HTTP Request)
- SOAP-Anfrage (SOAP Request)
Best Practices
Best Practices für Datenbankaktivitäten, die Verbindungszeichenfolgen für SQL Server, Oracle, MySQL und andere Datenbanken, gespeicherte Prozeduren und Fehlerbehebung abdecken.
Verwenden einer gespeicherten Prozedur mit OracleRefCursor
Stellen Sie bei Verwendung von gespeicherten Prozeduren in Oracle sicher, dass der REF CURSOR korrekt an die Oracle.ManagedDataAccess.Types.OracleRefCursor-Variable gebunden ist.
Dazu müssen Sie sicherstellen, dass die Anzahl der Parameter und deren Typ mit den in der Eigenschaft Parameter der Aktivität Run Query eingerichteten Parametern übereinstimmen.
Sie können den Inhalt des Cursors mit der Aktivität Invoke Code abrufen oder als Eingabeparameter an eine andere Datenbankabfrage übergeben. Hier ist ein Beispiel für einen Aufrufcode, um ihn in eine Datentabelle zu konvertieren:
Oracle.ManagedDataAccess.Client.OracleDataReader reader2 = myRefCursor.GetDataReader();
dt = new DataTable();
dt.Load(reader2);
Oracle.ManagedDataAccess.Client.OracleDataReader reader2 = myRefCursor.GetDataReader();
dt = new DataTable();
dt.Load(reader2);
Sie sollten den Cursor entfernen, wenn Sie damit fertig sind. Sie können dies entweder mit der Aktivität „Invoke Code“ (myRefCursor.Dispose), mit der Aktivität „Invoke Method“ aus dem Systemaktivitätspaket oder über einen SQL-Befehl tun, den Sie ausführen.
Ausführen gespeicherter Prozeduren mit Parametern
Die Aktivitäten Run Query und Run Command können eine gespeicherte Prozedur anstelle einer einfachen SQL-Anweisung aufrufen. Verwenden Sie Run Query, wenn die Prozedur einen Ergebnissatz zurückgibt, und Run Command, wenn dies nicht der Fall ist.
So rufen Sie eine gespeicherte Prozedur auf:
- Legen Sie die Eigenschaft Befehlstyp auf Gespeicherte Prozedur fest.
- Geben Sie den Prozedurnamen in das SQL- Feld ein, ohne einen
EXECoderCALL-Wrapper. - Fügen Sie der Parametersammlung für jeden Prozedurparameter einen Eintrag hinzu.
Jeder Parametereintrag hat die folgenden Attribute:
- Ein Name.
- Eine Richtung (
In,OutoderIn/Out). - Ein Typ.
- Ein Wert.
Die Werte Out und In/Out werden nach dem Aufruf zurückgelesen. Wie die Parameternamen und die Reihenfolge interpretiert werden, hängt vom Datenbankanbieter ab, daher unterscheidet sich die Anleitung in den folgenden Abschnitten je nach Datenbank.
| Datenbank | Anbieter | So wird aufgerufen | Parameterbindung |
|---|---|---|---|
| Microsoft SQL Server | Microsoft.Data.SqlClient | Befehlstyp = Stored Prozedur, SQL = Prozedurname | Nach Name (@name); Die Reihenfolge spielt keine Rolle |
| Oracle | Oracle.ManagedDataAccess.Client | Befehlstyp = Stored Prozedur, SQL = Prozedurname | Nach Position; Parameter in der deklarierten Reihenfolge der Prozedur hinzufügen |
| MySQL/ MariaDB | Datenbankkonnektivität (ODBC) öffnen | Befehlstyp = Text, SQL = CALL procedure_name(?, ?) | Positionale ? Platzhalter |
| PostgreSQL | ODBC | Befehlstyp = Text, SELECT * FROM function_name(?) oder CALL procedure_name(?) | Positionale ? Platzhalter |
| SQLite | Microsoft.Data.Sqlite | Nicht anwendbar | SQLite hat keine gespeicherten Prozeduren |
Microsoft SQL Server
SQL Server bindet Parameter nach Namen, sodass die Namen der Parametereinträge mit den @-präfixierten Parametern der Prozedur übereinstimmen müssen und ihre Reihenfolge keine Rolle spielt. Ausgabeparameter werden zurückgegeben, wenn Sie die Eingaberichtung auf Out festlegen.
CREATE PROCEDURE dbo.usp_CountCustomers @Country NVARCHAR(5), @Total INT OUTPUT AS
BEGIN
SET NOCOUNT ON;
SELECT @Total = COUNT(*) FROM dbo.customer WHERE country = @Country;
END;
CREATE PROCEDURE dbo.usp_CountCustomers @Country NVARCHAR(5), @Total INT OUTPUT AS
BEGIN
SET NOCOUNT ON;
SELECT @Total = COUNT(*) FROM dbo.customer WHERE country = @Country;
END;
Konfigurieren Sie Run Command mit Befehlstyp = Stored Prozedur und SQL = dbo.usp_CountCustomers und fügen Sie dann die Parameter hinzu:
| Name | Richtung | Typ | Wert |
|---|---|---|---|
@Country | in | String | US |
@Total | Aus | Int32 | – |
Nach der Ausführung enthält @Total die Anzahl. Verwenden Sie für ein Verfahren, das Zeilen zurückgibt, stattdessen Abfrage ausführen; Das Ergebnis ist in der Datentabellenausgabe verfügbar.
Oracle
Oracle bindet Parameter nach Position, nicht nach Namen. Daher müssen Sie die Parametereinträge in der gleichen Reihenfolge hinzufügen, in der die Prozedur sie deklariert. Eine Prozedur gibt einen Ergebnissatz über einen OUT SYS_REFCURSOR -Parameter zurück; Deklarieren Sie diesen Eintrag mit dem Typ OracleRefCursor und der Richtung Out , und die Zeilen werden in der Datentabellenausgabe von Run Query zurückgegeben. Siehe auch Verwenden einer gespeicherten Prozedur mit OracleRefCursor.
CREATE OR REPLACE PROCEDURE get_customers(p_country IN VARCHAR2, p_cursor OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_cursor FOR SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END;
CREATE OR REPLACE PROCEDURE get_customers(p_country IN VARCHAR2, p_cursor OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_cursor FOR SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END;
Konfigurieren Sie „Abfrage ausführen“ mit Befehlstyp = Stored Prozedur und SQL = get_customers und fügen Sie dann die Parameter in der Deklarationsreihenfolge hinzu:
| Name | Richtung | Typ | Wert |
|---|---|---|---|
p_country | in | String | US |
p_cursor | Aus | OracleRefCursor | – |
Oracle bindet Parameter nach Position. Wenn sich die Parametereinträge nicht in der deklarierten Reihenfolge der Prozedur befinden, werden den falschen Parametern Werte zugewiesen, und der Aufruf schlägt fehl oder gibt eine leere Ausgabe zurück.
MySQL und MariaDB
Wenn Sie eine Verbindung zu MySQL oder MariaDB über ODBC herstellen, rufen Sie die Prozedur mit dem Befehlstyp Text und einer CALL -Anweisung auf, die positionierte ? -Platzhalter verwendet. Ein SELECT innerhalb der Prozedur wird in der Datentabellenausgabe von Run Query zurückgegeben.
CREATE PROCEDURE list_customers(IN p_country VARCHAR(5))
BEGIN
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END
CREATE PROCEDURE list_customers(IN p_country VARCHAR(5))
BEGIN
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END
Konfigurieren Sie Abfrage ausführen mit Befehlstyp = Text und SQL-Abfrage = CALL list_customers(?) und fügen Sie dann einen In -Parameter für den Platzhalter hinzu.
Lesen Sie bei MySQL-Prozeduren mit OUT -Parametern den Wert aus einem zurückgegebenen Ergebnissatz oder verwenden Sie das Muster CALL procedure_name(?, @out); SELECT @out; , da OUT -Werte nicht immer über ODBC dem Parametereintrag zugeordnet werden.
PostgreSQL
PostgreSQL macht zwei Arten von Routinen verfügbar: Funktionen, die mit SELECT aufgerufen werden, und Prozeduren, die mit CALL aufgerufen werden. Wenn Sie eine Verbindung über ODBC herstellen, verwenden Sie den Befehlstyp Text mit positionierten ? -Platzhaltern. Verwenden Sie Run Query für eine Funktion, die Zeilen zurückgibt.
CREATE FUNCTION get_customers_by_country(p_country text)
RETURNS TABLE(id int, name text) LANGUAGE sql AS $$
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
$$;
CREATE FUNCTION get_customers_by_country(p_country text)
RETURNS TABLE(id int, name text) LANGUAGE sql AS $$
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
$$;
Konfigurieren Sie „Abfrage ausführen“ mit Befehlstyp = Text und SQL-Abfrage = SELECT * FROM get_customers_by_country(?) und fügen Sie dann einen In -Parameter hinzu. Um eine mit CREATE PROCEDURE erstellte Prozedur aufzurufen, verwenden Sie stattdessen CALL procedure_name(?) .
SQLite
SQLite unterstützt keine gespeicherten Prozeduren. Behalten Sie die Logik in Ihrem Workflow mithilfe parametrisierter Run Query- und Run Command- Anweisungen bei oder definieren Sie eine wiederverwendbare Ansicht.
Verbindungszeichenfolgen für verschiedene Datenbanksysteme
Diese Anleitung enthält Beispielverbindungszeichenfolgen für die Aktivität Connect to Database , mit der Sie mithilfe nativer und ODBC-Treiber eine Verbindung mit verschiedenen Datenbanken herstellen können. Er enthält Beispiele für Verbindungszeichenfolgen für:
- Microsoft SQL Server (einschließlich Microsoft Entra ID-Authentifizierung)
- Oracle
- PostgreSQL
- MySQL
- Amazon Amazon Marketplace
- Microsoft Access
- SAP HANA
- IBM Db2
- SQLite
Auf die Beispiele folgt ein Abschnitt zur Fehlerbehebung für häufige Verbindungsfehler. Befolgen Sie die Best Practices, um eine sichere und effiziente Datenbankverbindung sicherzustellen.
Microsoft SQL Server
Allgemeine Formate für Verbindungszeichenfolgen für Microsoft SQL Server, wenn Microsoft.Data.SqlClient verwendet wird.
SQL Server- und ODBC-Authentifizierung
-
Verwenden der SQL Server-Authentifizierung:
Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;User ID=USERNAME;Password=<your-password>; -
Mit einem bestimmten Port:
Data Source=SERVER_NAME,PORT_NUMBER;Initial Catalog=DATABASE_NAME;User ID=USERNAME;Password=<your-password>; -
Verwenden des ODBC-Treibers:
Driver={ODBC Driver 18 for SQL Server};Server=SERVER_NAME;Database=DATABASE_NAME;Uid=USERNAME;Pwd=<your-password>;Encrypt=yes;TrustServerCertificate=no;
Standardmäßig werden diese Aktivitäten mit Encrypt=True verbunden. Eine Verbindung zu einem Server mit einem selbstsignierten oder anderweitig nicht vertrauenswürdigen Zertifikat schlägt fehl, es sei denn, Sie fügen TrustServerCertificate=True hinzu (nur Test oder Development) oder installieren ein vertrauenswürdiges Zertifikat. Legen Sie für vorhersehbares Verhalten beide Schlüsselwörter explizit fest, z. B. Encrypt=True;TrustServerCertificate=False;.
Microsoft Entra ID-Authentifizierung
-
Verwenden der Kennwortauthentifizierung (veraltet von Microsoft und nicht kompatibel mit Multi-Faktor-Authentifizierung (MFA); bevorzugen Sie interaktive, Dienstprinzipal oder verwaltete Identität):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Password;User ID=user@yourtenant.onmicrosoft.com;Password=<your-password>;Encrypt=True; -
Verwenden der Dienstprinzipalauthentifizierung (für Unattended-Roboter):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Service Principal;User ID=APP_CLIENT_ID;Password=<your-client-secret>;Encrypt=True; -
Verwenden der verwalteten Identitätsauthentifizierung (lassen Sie
User IDfür eine vom System zugewiesene Identität weg; für eine vom Benutzer zugewiesene Identität legen Sie sie auf die Client-ID der Identität fest):Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Managed Identity;User ID=USER_ASSIGNED_MI_CLIENT_ID;Encrypt=True; -
Verwenden der integrierten Authentifizierung (verwendet die integrierte Windows-Authentifizierung mit einer lokalen Active Directory-Identität):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Integrated;Encrypt=True; -
Verwenden der interaktiven Authentifizierung (öffnet einen Browser mit einem MFA-Prompt; nur für Attended- oder Development-Verwendung, nicht für Unattended-Roboter):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Interactive;User ID=user@yourtenant.onmicrosoft.com;Encrypt=True;
Für den ODBC-Treiber haben die entsprechenden Schlüsselwortwerte keine Leerzeichen: ActiveDirectoryPassword, ActiveDirectoryServicePrincipal, ActiveDirectoryMsi (verwaltete Identität), ActiveDirectoryIntegrated und ActiveDirectoryInteractive. ActiveDirectoryInteractive ist nur unter Windows verfügbar.
Wenn derselbe Workflow sowohl auf einem Roboter als auch auf einer Development-Maschine ausgeführt wird, verwenden Sie Authentication=Active Directory Default. Es verwendet DefaultAzureCredential, das Umgebungsvariablen, die Workload-Identität und die verwaltete Identität ausprobiert, bevor es auf die Anmeldeinformationen des Entwicklertools zurückgreift.
Weitere Informationen zur Verbindungszeichenfolgensyntax finden Sie in der offiziellen Microsoft-Dokumentation und zur Microsoft Entra-Authentifizierung in der Dokumentation zur Microsoft Entra-Authentifizierung.
Excel-Datei
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\full\path\to\the\sampleFile.xlsx;
Von Oracle verwalteter Datenzugriff
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XEPDB1)));User Id=system;Password=<your-password>;
Sie können auch das Easy Connect-Kurzformular verwenden: Data Source=//HOST_NAME:1521/SERVICE_NAME;User Id=USERNAME;Password=<your-password>;.
Weitere Informationen finden Sie in der Dokumentation zum Oracle-Datenanbieter für.NET.
MySQL ODBC 8.3 Unicode-Treiber
Driver={MySQL ODBC 8.3 Unicode Driver};Server=SERVER_NAME;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;Option=3;
Mehr darüber erfahren Sie auf der offiziellen MySQL-Dokumentationsseite hier.
MySQL ODBC 8.3 ANSI-Treiber
Driver={MySQL ODBC 8.3 ANSI Driver};Server=SERVER_NAME;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;Option=3;
Ersetzen Sie die Version im Treibernamen durch die auf der Maschine installierte MySQL Connector/ODBC-Version (z. B. MySQL ODBC 9.4 Unicode Driver); Der Name muss genau mit dem registrierten Treiber übereinstimmen. Bevorzugen Sie den Unicode-Treiber gegenüber dem ANSI-Treiber, um eine Beschädigung von Nicht-ASCII-Daten zu vermeiden. Das Legacy-Flag Option=3 ist optional und für die typische Verwendung nicht erforderlich.
PostgreSQL
Driver={PostgreSQL Unicode};Server=SERVER_NAME;Port=5432;Database=DATABASE_NAME;Uid=USERNAME;Pwd=<your-password>;
Verwenden Sie die ANSI-Variante Driver={PostgreSQL ANSI};… nur für Legacy-Einzelbyte-Codierungen; verwenden Sie den Unicode-Treiber für UTF-8-Datenbanken. Fügen Sie sslmode=require; (Kleinbuchstaben) hinzu, um TLS zu erzwingen.
Der Driver={...} -Name muss mit dem Treiber übereinstimmen, der auf der Maschine registriert ist, die den Roboter ausführt. Je nach Installationsprogramm wird der 64-Bit-psqlODBC-Treiber entweder als PostgreSQL Unicode oder PostgreSQL Unicode(x64) (und die ANSI-Äquivalente) registriert. Wenn der Name nicht mit einem registrierten Treiber übereinstimmt, schlägt die Verbindung mit der Meldung „Datenquellenname nicht gefunden.“ fehl.
Überprüfen Sie den genauen registrierten Namen im 64-Bit-ODBC-Datenquellenadministrator (C:\Windows\System32\odbcad32.exe).
Weitere Informationen finden Sie in der psqlODBC-Dokumentation.
Amazon Amazon Marketplace (MySQL-kompatibel)
Die Amazon Amazon Amazon Marketplace- Aktualisierungsversion verwendet das MySQL-D Entwurfsprotokoll, sodass Sie eine Verbindung mit dem MySQL-Connector/ODBC-Treiber herstellen. Zeigen Sie auf Server auf den Azure-Cluster-Endpunkt (Schreiber):
Driver={MySQL ODBC 9.4 Unicode Driver};Server=CLUSTER.cluster-xxxx.REGION.rds.amazonaws.com;Port=3306;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;
Oracle Autonomous Database (ATP/ADW) mit Portschlüssel
So stellen Sie eine Verbindung mit der autonomen Oracle-Datenbank (Autonomous Transaction Processing oder Autonomous Data Warehouse) her:
- Laden Sie die Instanz-Bucket (
Wallet_DBNAME.zip) von Oracle Cloud Infrastructure herunter. - Extrahieren Sie alle Dateien aus dem Portschlüssel-Archiv in einen Ordner auf der Robotermaschine.
- Legen Sie die Umgebungsvariable
TNS_ADMINauf diesen Ordner fest. - Bearbeiten Sie das
WALLET_LOCATION-Verzeichnis imsqlnet.orader Portmappe auf denselben Ordner. Die Portmappe wird mit einem Platzhalter?/network/adminausgeliefert, den Sie ersetzen müssen, daTNS_ADMINallein nicht ausreicht.
Mit der automatischen Anmeldungsmappe (cwallet.sso) ist kein Mappenkennwort erforderlich. Andernfalls geben Sie das Mappenkennwort an, damit der Treiber die kennwortgeschützte ewallet.p12 öffnen kann.
Verwenden Sie dann einen Dienst-Alias von tnsnames.ora (DBNAME_high, DBNAME_medium oder DBNAME_low sowie DBNAME_tp und DBNAME_tpurgent für Datenbanken zur Transaktionsverarbeitung):
Data Source=DBNAME_low;User Id=USERNAME;Password=<your-password>;
Sie können auch eine Verbindung ohne Portfolio mit einseitigem TLS herstellen, sofern die Autonome Datenbankinstanz so konfiguriert ist, dass TLS-Verbindungen zugelassen werden. Instanzen, die für gegenseitiges TLS (mTLS) konfiguriert sind, benötigen nur weiterhin das Validierer.
Weitere Informationen finden Sie in der Dokumentation zur Oracle ODP.NET-Konfiguration.
Microsoft Access
Verwenden des ODBC-Treibers:
Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\full\path\to\database.accdb;Uid=Admin;Pwd=;
Verwenden des ALE DB-Anbieters (System.Data.OleDb, nur unter Windows verfügbar):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\full\path\to\database.accdb;Persist Security Info=False;
Fügen Sie für eine kennwortgeschützte Datei Jet OLEDB:Database Password=<your-password>; an die ole DB-Zeichenfolge an.
Sowohl der ODBC-Treiber als auch der ACE ole DB-Anbieter stammen aus der weitergegebenen Microsoft Access-Datenbank-Engine, deren Architektur (x86 oder x64) mit der Roboter- und Projektarchitektur übereinstimmen muss. Eine Abweichung führt zu der Meldung „Anbieter ist auf der lokalen Maschine nicht registriert“ Dieser Fehler
SAP HANA
Driver={HDBODBC};ServerNode=HOST_NAME:3NN15;UID=USERNAME;PWD=<your-password>;
Verwenden Sie HDBODBC für 64-Bit-Roboter (HDBODBC32 nur für einen 32-Bit-Prozess). Für eine Einzelcontainerdatenbank oder den ersten Mandanten ist der Port 3NN15, wobei NN die zweistellige Instanznummer ist – z. B. 30015 für Instanz 00 oder 30515 für Instanz 05.
Stellen Sie für ein MDC-System (MDC) mit mehreren Mandanten eine Verbindung über den Systemdatenbank-Port 3NN13 her und benennen Sie den Mandanten in der von SAP empfohlenen Form:
Driver={HDBODBC};ServerNode=HOST_NAME:30013;DATABASENAME=TENANT_DB;UID=USERNAME;PWD=<your-password>;
Für SAP HANA Cloud (im Gegensatz zu On-Premises SAP HANA) ist der Host ein UUID-Stil-Endpunkt an Port 443 und die Verbindung ist immer verschlüsselt. Legen Sie encrypt=TRUE explizit für SAP HANA Client 2.5 und früher fest; neuere Clients leiten es auf Port 443 ab. Das Portschema 3NN15 gilt nur für lokale Systeme.
IBM Db2
Driver={IBM DB2 ODBC DRIVER};Database=DATABASE_NAME;Hostname=HOST_NAME;Port=50000;Protocol=TCPIP;Uid=USERNAME;Pwd=<your-password>;
Der registrierte Treibername kann Installationsspezifisch sein – bei mehreren Db2-Kopierungen könnte es IBM DB2 ODBC DRIVER - DB2COPY1 lauten. Überprüfen Sie den genauen Namen im ODBC Data Source Administrator unter Windows oder in odbcinst.ini unter Linux. Port 50000 ist der gängige Standard, aber der tatsächliche Port wird pro Instanz von SVCENAME festgelegt.
SQLite
Die Datenbankaktivitäten verwenden Microsoft.Data.Sqlite. Geben Sie den Pfad zur Datenbankdatei an:
Data Source=C:\full\path\to\database.db;
Optionale Schlüsselwörter sind Mode=ReadOnly (oder ReadWrite / ReadWriteCreate), Foreign Keys=True zum Durchsetzen der Referenzintegrität und Cache=Shared. Das Schlüsselwort Version=3 ist hier nicht gültig – es gehört zum älteren Anbieter System.Data.SQLite und führt zu einem Fehler.
Weitere Informationen finden Sie in der Microsoft.Data.Sqlitere-Dokumentation.
JDBC
Die Datenbankaktivitäten werden mit.NET ausgeführt und verwenden JDBC-Treiber nicht direkt. Um eine Datenbank zu erreichen, auf die Sie normalerweise über JDBC zugreifen, verwenden Sie deren ODBC-Treiber mit der ODBC-Verbindungszeichenfolge für diese Datenbank in diesem Handbuch oder implementieren Sie die Verbindung in einen codierten Workflow mithilfe des.NET- oder ADO.NET-Treibers des Datenbankanbieters.
Fehlerbehebung bei häufigen Verbindungsproblemen
Datenquellenname nicht gefunden (Fehler IM002)
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found, and no default driver specified
Der in Driver={...} benannte ODBC-Treiber ist nicht installiert oder ist unter einem anderen Namen oder einer anderen Architektur registriert. Behebung:
- Installieren Sie den passenden ODBC-Treiber.
- Bestätigen Sie, dass der Treiber im ODBC Data Source Administrator angezeigt wird, der der Architektur des Roboters entspricht. Es gibt separate 32-Bit- und 64-Bit-Administratoren.
- Kopieren Sie den genauen Treibernamen vom Administrator in
Driver={...}. Der Name ist oft Versions- oder Installationsspezifisch (z. B.PostgreSQL Unicode(x64),MySQL ODBC 9.4 Unicode DriveroderIBM DB2 ODBC DRIVER - DB2COPY1).
Treiber konnte nicht geladen werden (Fehler IM003)
ERROR [IM003] Specified driver could not be loaded due to system error 1114
Systemfehler 1114 bedeutet, dass die Treiberbibliothek gefunden wurde, aber ihre Initialisierungsprogramme fehlgeschlagen ist – typischerweise eine fehlende Abhängigkeit (z. B. eine erforderliche Laufzeit) oder ein Architektur- oder Versionskonflikt. Dies ist bei Oracle Sofort Client (SQORA32.dll) und IBM Db2 (DB2CLIO.DLL) üblich. Behebung:
- Stellen Sie sicher, dass die Treiberarchitektur mit der Runtime übereinstimmt.
- Installieren Sie alle Voraussetzungen, die der Treiber erfordert.
- Installieren oder aktualisieren Sie den Treiber neu.
Unterstützung von Treiberarchitektur und Plattform
Installieren Sie den Datenbanktreiber, der der Runtime-Architektur des Projekts entspricht. Windows-Projekte werden als 64-Bit-Prozesse ausgeführt und benötigen den 64-Bit-ODBC- oder ALE DB-Treiber. Windows-Legacy-Projekte werden als 32-Bit-Prozesse ausgeführt und benötigen den 32-Bit-Treiber.
ALE DB (System.Data.OleDb, wird für Access und Excel verwendet) ist nur unter Windows verfügbar. ODBC funktioniert auf Windows- und auf Linux- oder macOS-Robotern, wenn unixODBC 2.3.1 oder höher und der Zieltreiber auf dieser Maschine installiert sind.
Nachdem Sie einen Treiber installiert haben, starten Sie Studio oder den Roboter neu, damit er den Treiber erkennt.
- Verwenden einer gespeicherten Prozedur mit OracleRefCursor
- Ausführen gespeicherter Prozeduren mit Parametern
- Microsoft SQL Server
- Oracle
- MySQL und MariaDB
- PostgreSQL
- SQLite
- Verbindungszeichenfolgen für verschiedene Datenbanksysteme
- Microsoft SQL Server
- Excel-Datei
- Von Oracle verwalteter Datenzugriff
- MySQL ODBC 8.3 Unicode-Treiber
- MySQL ODBC 8.3 ANSI-Treiber
- PostgreSQL
- Amazon Amazon Marketplace (MySQL-kompatibel)
- Oracle Autonomous Database (ATP/ADW) mit Portschlüssel
- Microsoft Access
- SAP HANA
- IBM Db2
- SQLite
- JDBC
- Fehlerbehebung bei häufigen Verbindungsproblemen
- Datenquellenname nicht gefunden (Fehler IM002)
- Treiber konnte nicht geladen werden (Fehler IM003)
- Unterstützung von Treiberarchitektur und Plattform