Neu in

Verbinden mit Datenbanken über JDBC

Die Verbindung von Stata mit Datenbanken ist jetzt noch einfacher geworden. jdbc ermöglicht uns den Datenaustausch mit einigen der beliebtesten Datenbankanbietern wie Oracle, MySQL, Amazon Redshift, Snowflake, Microsoft SQL Server und vielen mehr. Das Tolle an jdbc ist, dass es sich um eine plattformübergreifende Lösung handelt, so dass unser JDBC-Setup für Windows-, Mac- und Unix-Systeme auf die gleiche Weise funktioniert. Sobald Sie einen JDBC-Treiber installiert haben, sind dieser Treiber und Ihr Stata-Code alles, was Sie brauchen, um von, sagen wir, Ihrem Mac-Laptop zu den Windows-Cloud-Systemen Ihrer Firma zu wechseln.

Höhepunkte

  • Zugriff auf Daten aus vielen Datenbanken, einschließlich Oracle, MySQL, Amazon Redshift, Snowflake, Microsoft SQL Server und mehr
  • Vollständig plattformübergreifend kompatibel
  • Laden Sie eine gesamte Datenbanktabelle in Stata oder verwenden Sie ein SQL SELECT, um nur bestimmte Spalten aus einer Tabelle in Stata zu laden
  • Fügen Sie alle Ihre Variablen in eine Datenbanktabelle ein, oder fügen Sie nur eine Teilmenge Ihrer Daten ein
  • Ausführen von SQL-Anweisungen aus Stata
  • Verbindungseinstellungen als Datenquellenname (DSN) speichern

Zeigen Sie, wie es funktioniert

Wir haben E-Mail-Daten, die auf Amazon Web Services in einem Redshift-Cluster gespeichert sind, und wir müssen diese Daten in Stata laden. Zuerst melden wir uns bei AWS an und gehen auf die Amazon Redshift-Konfigurationsseite, um den richtigen JDBC-Treiber herunterzuladen und die richtigen Verbindungsinformationen zu erhalten. Anschließend platzieren wir die heruntergeladene JDBC-JAR-Datei in unserem Stata-Adopat. Jetzt speichern wir im Stata-Do-File-Editor unsere Verbindungsinformationen, indem wir eingeben

. local jar "redshift-jdbc42-2.0.0.0.jar"
. local driverc "com.amazon.redshift.jdbc42.Driver"
. local url "jdbc:redshift://redshift-cluster-1.cziajbxjzi3e.us-west-2.redshift.amazonaws.com:5439/emails"
. local user "admin"
. local pass "secret"

. jdbc connect,  jar("`jar'") driverclass("`driverc'") url("`url'")
        user("`user'") password("`pass'")

Wenn diese Datenbankeinstellungen von anderen verwendet werden sollen oder Sie sich einfach das Merken erleichtern wollen, können wir sie speichern, indem wir eingeben

. local jar "redshift-jdbc42-2.0.0.0.jar"
. local driverc "com.amazon.redshift.jdbc42.Driver"
. local url "jdbc:redshift://redshift-cluster-1.cziajbxjzi3e.us-west-2.redshift.amazonaws.com:5439/emails"
. local user "admin"
. local pass "secret"

. jdbc add MyRed,  jar("`jar'") driverclass("`driverc'") url("`url'")
        user("`user'") password("`pass'")

Wir können nun die obigen Befehle zu profile.do hinzufügen, um diese Verbindungseinstellungen zwischen Stata-Sitzungen zu speichern, und wir können uns nun mit unserer Redshift-Datenbank verbinden, indem wir Folgendes eingeben

. jdbc connect MyRed

Um zu sehen, welche Tabellen zum Laden von unserer Verbindung zur Verfügung stehen, geben wir ein

. jdbc showtables

Database: emails
Tables
category
response_info
employees

Wir können eine Tabelle beschreiben, indem wir eingeben

. jdbc describe response_info

Table: response_info
Column name Column type
id BIGINT UNSIGNED filename VARCHAR category_id BIGINT UNSIGNED employee_id BIGINT UNSIGNED datein TIMESTAMP dateout DATE screendate TIMESTAMP rid TEXT keywords TEXT assigntime TIMESTAMP resptime TIMESTAMP timeadded TIMESTAMP sversion DOUBLE correct BIT timetouched TIMESTAMP timemailed TIMESTAMP

Um die Daten zu laden, geben wir ein

. jdbc load, table("response_info") clear
(128 observations loaded)

Jetzt haben wir einen Stata-Datensatz und können unsere Analyse durchführen!