将数据从 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 代码。
当我将数据从 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 代码。