好久没有写blog了,都有点生疏了
下面这文章主要是讲如何利用java来调用本地SAS数据,这样你只需要买了SAS BASE就可以通过JAVA来访问SAS数据
欢迎大家随意转载
1.改动C:/WINDOWS/system32/drivers/etc/services文件,加入如下行:
odbcserv 5061/tcp
(服务和端口号可以随意取)
2.在控制面板上建立ODBC
在选择驱动程序时选择[SAS]
ODBC数据源配置/服务器配置栏:服务器名称输入odbcservr,然后在单击配置按钮时请确认配置框提供的SAS.exe文件的正确性
ODBC数据源配置/逻辑库配置栏:输入你想要预先分配的库名和路径
3.使用[附录1-java代码]通过jdbcodbc访问
4.其他注意事项参考[附录2-注意事项]
附录1-java代码
import java.sql.*;
public class testJdbcOdbcDriver {
public static void main(String [] args) {
Connection con = null;
try {
// Load the JDBC-ODBC bridge driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
System.out.println("JDBC-ODBC driver loaded ok.");
String DB = "jdbc:odbc:odbcserv";
Connection conn = DriverManager.getConnection(DB,"","");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from sashelp.class ;") ;
while (rs.next()) {
String nom = rs.getString ("name") ;
System.out.println (nom) ;
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
System.err.println("Exception: "+e.getMessage());
}
}
}
[附录2:使用注意]
在使用odbc driver时,需要注意的是有如下限制:
从SAS9开始,SAS公司禁止使用PROC ODBCSERV 运行在非WINDOWS工作站版之外的其它服务器版,除非你有SAS/SHARE的授权,如果你试着在WINDOWS服务器(如WIN2000SERVER 、WIN2003 SERVER)上通过本地ODBC访问SAS数据集,则你会接收到如下错误:
ERROR: PROC ODBCSERV is not permitted in this environment without a
SAS/SHARE*NET license
所以你只能在下面操作系统上使用PROC ODBCSERV过程
WIN_PRO -- Windows 2000
WIN_NT -- Windows NT 4
XP_PRO -- Windows XP Professional
XP_PER -- Windows XP Home
也就意味着如果你用SAS9,如果操作系统不是上面操作系统,则你通过ODBC访问本地SAS数据集是不可能的。
如果你确认满足上面条件,则你可以参考下面文档来执行操作
关于odbc driver使用在下面链接有详细的使用说明:
http://support.sas.com/documentation/onlinedoc/91pdf/sasdoc_91/odbc_ugref_6971.pdf
odbc driver 需要单独安装,位于: SAS Clients/SAS Client-Side Components Volume 1/client1cd/odbcdriver
注意: 在文档中提到的ODBC数据源配置/服务器配置时,在单击配置按钮时请确认配置框提供的SAS.exe文件的正确性