【发布时间】:2015-02-07 13:21:28
【问题描述】:
我是 PostgreSQL 的狂热用户,我想鼓励其他人使用它。我(学术)圈子中的许多人都使用 Stata,我设法在 Mac OS X 上编译了 一个允许 Stata 直接访问 PostgreSQL 的插件;这得到了那些尝试过的人的好评(尽管我认为还有改进的余地)。但是,我的许多使用 Stata 的同事都运行 Windows,如果这个插件也可以为他们工作,那就太好了。
以下是我在 OS X 上编译插件的步骤(插件来自牛津的一个站点);我从我的博客here 复制了这些步骤。
我的问题是:这些说明需要如何修改才能在 Windows 上运行? (我无法访问 Windows,所以如果您能确认可以修改它以适合您,那就太好了。)
请注意,我从 MacPorts 安装了 PostgreSQL,并且还安装了 wget (sudo port install wget)。
1。从 Stata 和 Oxford 网站获取文件
cd ~/Downloads
wget http://code.ceu.ox.ac.uk/stata/pgload-0.1.tar.gz
tar -zxvf pgload-0.1.tar.gz
mkdir ~/Downloads/stata
cd ~/Downloads/stata/
wget http://www.stata.com/plugins/stplugin.c
wget http://www.stata.com/plugins/stplugin.h
2。编辑 Makefile
vim ~/Downloads/pgload-0.1/Makefile
最后一步打开 Makefile。我对五行进行了更改(如果您从 MacPorts 以外的其他地方安装 PostgreSQL 9.3,最后两行会有所不同)。
PLUGIN_SYS=APPLEMAC
INSTALL_LOCATION=~/Library/Application\ Support/Stata/ado/personal
STATAPLUG_INC=~/Downloads/stata
PQ_INC=/opt/local/include/postgresql93
PG_SERVER_INC=/opt/local/include/postgresql93/server
然后我保存并退出。那么
3。编译安装
cd ~/Downloads/pgload-0.1
make
sudo make install
4。添加 loadsql.ado 文件
loadsql.ado 文件放在~/Library/Application\ Support/Stata/ado/personal 中,包含以下内容:
program define loadsql
*! Load the output of an SQL file into Stata, version 1.4 (iandgow@gmail.com)
version 13.1
syntax using/, CONN(string)
#delimit;
tempname sqlfile exec line;
file open `sqlfile' using `"`using'"', read text;
file read `sqlfile' `line';
while r(eof)==0 {;
local `exec' `"``exec'' ``line''
"';
file read `sqlfile' `line';
};
file close `sqlfile';
* display "`conn'";
pgload "`conn'" "``exec''", clear;
* pgload "``dsn''" "SELECT permno, date, abs(prc) AS prc FROM crsp.dsf LIMIT 10", clear;
end;
【问题讨论】:
标签: windows postgresql stata