2017-06-23 1 views
2

Lorsque je charge des données de PostgreSQL dans Stata, des caractères inattendus sont ajoutés à certaines données. Comment puis-je éviter ça?Chargement de données de PostgreSQL dans Stata

Voici le code Stata J'utilise:

odbc query mydatabase, schema $odbc 
odbc load, exec("SELECT * FROM my_table") $odbc allstring 

Voici un exemple de la sortie que je vois:

198734/0  one/0/r  April/0/0/0 
893476/0  two/0/r  May/0/0/0 
324192/0  three/0/r June/0/0/0 

En Postgres les données sont:

198734  one  April 
893476  two  May 
324192  three June 

Je vois cela principalement dans des tables plus grandes et avec des champs de tous les types de données dans PostgreSQL. Si j'exporte les données dans un fichier csv, il n'y a pas de caractères de fin.

Le fichier odbci.ini J'utilise ressemble à ceci:

[ODBC Data Sources] 
mydatabase = PostgreSQL 

[mydatabase] 
Debug = 1 
CommLog = 1 
ReadOnly = no 
Driver = /usr/lib64/psqlodbcw.so 
Servername = myserver 
Servertype = postgres 
FetchBufferSize = 99 
Port = 5432 
Database = mydatabase 

[Default] 
Driver = /usr/lib64/psqlodbcw.so 

J'utilise la version et la version odbc unixODBC 2.3.1 PostgreSQL 9.4.9 avec le serveur encodage UTF8 et Stata version 14.1.

Qu'est-ce qui cause les caractères inattendus dans les données importées dans Stata? Je sais que je peux nettoyer les données une fois qu'elles sont dans Stata mais je voudrais éviter cela.

Répondre

2

j'ai pu résoudre ce problème en ajoutant au code Stata la ligne

set odbcdriver ansi 

.