Nouveau dans 
Connexion aux bases de données à l’aide de JDBC
La connexion de Stata avec des bases de données est encore plus facile. jdbc nous permet d’échanger des données avec certains des fournisseurs de bases de données les plus populaires tels que Oracle, MySQL, Amazon Redshift, Snowflake, Microsoft SQL Server, et bien plus encore. Ce qui est génial avec jdbc, c’est qu’il s’agit d’une solution multiplateforme, de sorte que notre configuration JDBC fonctionne de la même manière pour les systèmes Windows, Mac et Unix. Une fois que vous avez installé un pilote JDBC, ce pilote et votre code Stata sont tout ce dont vous avez besoin pour passer, par exemple, de votre ordinateur portable Mac aux systèmes Windows de votre entreprise.
Points forts
- Accédez aux données de nombreuses bases de données, notamment Oracle, MySQL, Amazon Redshift, Snowflake, Microsoft SQL Server, etc.
- Entièrement compatible avec les plates-formes croisées
- Chargez une table de base de données entière dans Stata, ou utilisez un SELECT SQL pour charger des colonnes spécifiques d’une table dans Stata.
- Insérez toutes vos variables dans une table de base de données, ou insérez seulement un sous-ensemble de vos données.
- Exécuter des instructions SQL à partir de Stata
- Stocker les paramètres de connexion comme un nom de source de données (DSN).
Voyons comment cela fonctionne
Nous avons des données de messagerie stockées sur Amazon Web Services dans un cluster Redshift, et nous devons charger ces données dans Stata. Nous nous connectons d’abord à AWS et allons à la page de configuration d’Amazon Redshift pour télécharger le pilote JDBC correct et obtenir les informations de connexion correctes. Nous plaçons ensuite le fichier JAR JDBC téléchargé le long de notre adoption Stata. Maintenant, dans l’éditeur de fichier Do de Stata, nous stockons nos informations de connexion en tapant
. 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'")
Si ces paramètres de base de données doivent être utilisés par d’autres personnes ou si vous voulez simplement vous en souvenir plus facilement, nous pouvons les stocker en tapant
. 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'")
Nous pouvons maintenant ajouter les commandes ci-dessus à profile.do pour enregistrer ces paramètres de connexion entre les sessions Stata, et nous pouvons maintenant nous connecter à notre base de données Redshift en tapant
. jdbc connect MyRed
Pour voir quelles sont les tables disponibles à charger depuis notre connexion, nous tapons
. jdbc showtables
Database: emails |
Tables |
category |
response_info |
employees |
Nous pouvons décrire une table en tapant
. 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 |
Pour charger les données, on tape
. jdbc load, table("response_info") clear (128 observations loaded)
Maintenant nous avons un jeu de données Stata et nous pouvons effectuer notre analyse !