将数据从 PostgreSQL 加载到 Stata

Loading Data from PostgreSQL into Stata

当我将数据从 PostgreSQL 加载到 Stata 时,一些数据附加了意外字符。我怎样才能避免这种情况?

这是我使用的 Stata 代码:

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

这是我看到的输出示例:

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

在 Postgres 中数据是:

198734     one      April
893476     two      May
324192     three    June

我主要在较大的表中以及 PostgreSQL 中所有数据类型的字段中看到这一点。如果我将数据导出到 csv,则没有尾随字符。

我正在使用的 odbci.ini 文件如下所示:

[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

我使用的是 odbc 版本 unixODBC 2.3.1 和 PostgreSQL 版本 9.4.9,服务器编码为 UTF8 和 Stata 版本 14.1。

导入 Stata 的数据中出现意外字符的原因是什么?我知道我可以在 Stata 中清理数据,但我想避免这种情况。

我可以通过添加行

来解决这个问题
set odbcdriver ansi

到 Stata 代码。