SPSS二次开发
在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少。
Web SPSS系统是利用SPSS二次开发技术,使用户可以在B/S系统中调用SPSS软件来完成数据分析与处理操作,系统正在完善中。目前在.NET平台下主要有以下两个方案的Web SPSS系统:
实时处理方案
用户在客户端提交SPSS语法命令后,Web SPSS系统立即调用服务器上的SPSS软件,将SPSS语法命令传递给SPSS软件,调用SPSS软件进行数据分析,待完成后立即将分析结果反馈给用户。在本方案中,客户端通过 TCP 通道发送请求至服务器端的Windows服务,由服务器端的Windows服务承载远程SPSS对象,客户端获得SPSS对象后,将SPSS分析命令直接传递给SPSS软件完成数据分析并生成分析结果,最终将分析结果文件的地址返回给客户端。

批处理方案
与实时处理方案不同,批处理方案在客户端用户在提交SPSS分析命令后,服务器并不立即调用SPSS软件,而是将SPSS分析命令上传至数据库中,等待服务器去处理。服务器每隔一段时间,查询数据库中是否存在新提交的SPSS分析任务,如果存在,系统才调用服务器上的SPSS软件进行数据分析,将生成的结果文件路径存储在数据库中,客户端查询数据库获得生成结果文件的路径,将生成结果反馈给用户;如果不存在新提交任务,则不作任何操作。
在本方案中,客户端通过Web页面提交SPSS语法命令至服务器端的数据库中。服务器端的Window服务每隔一段时间查询数据库,当发现新提交的SPSS分析命令时,获得本地SPSS对象,一次处理所有新提交的SPSS分析命令,并将处理生成的结果文件路径提交至数据库中。在服务器端完成SPSS分析任务后,用户通过客户端Web页面,查看产生的分析结果。

系统雏形截图
语法命令输入页面

SPSS分析任务列表页面

SPSS分析任务结果展示页面

C#使用SPSS.NET操作SPSS数据文件
C#使用COM组件操作SPSS文件
需要注意的是,创建SPSS对象之前,需要将SPSS软件提供的四个库引用到程序中,这四个库分别是:
SPSS type library (spsswin.tlb):包括对Application对象、 Options对象、文件信息对象、 Documents集合、 Items集合、Chart对象、 Maps对象等的操作。
PivotTable type library (spsspvt.tlb):包括转轴表Pivot Table对象及其里面所包含的所有对象。
Graphics Editor OLE control (spssgctl.tlb): 包括交互式Graphs对象及其所包含的所有对象。
RTF type library (spssrtf.tlb):包含RTF文本对象。
这四个库都是在安装SPSS软件后自动注册到系统注册表中的,使用时只需要通过以COM对象的形式加载到开发环境中即可。关于这方面的资料可以参考一下几 个文档:SPSS 14.0 for Windows Developer's Guide.pdf,SPSS Programming and Data Management.pdf等。
SPSS二次开发的更多相关文章
- spss C# 二次开发 学习笔记(六)——Spss统计结果的输出
Spss的二次开发可以很简单,实例化一个对象,然后启用服务,接着提交命令,最后停止服务. 其中重点为提交命令,针对各种统计功能需求,以及被统计分析的数据内容等,命令的内容可以很复杂,但也可以简单的为一 ...
- spss C# 二次开发 学习笔记(五)——Spss系统集成模式
Spss官方不支持Server2008R2等Server系列,但做Spss的二次开发,调用Spss的Web系统,一般部署在Server系列上,例如Server2008R2. 起初,在Server上安装 ...
- spss C# 二次开发 学习笔记(四)——Spss授权
Spss的授权方式有两种,单机版和网络版. Spss的激活,在联网的情况下,通过20位的激活码激活,在未联网的情况下,Spss根据机器获取一个类似4-XXXX的锁定码,然后由激活码和锁定码算出一个授权 ...
- spss C# 二次开发 学习笔记(三)——Spss .Net 开发
Spss .Net 二次开发的学习过程暂停了一段时间,今天开始重启. 之前脑残的不得了,本想从网上下载一个Spss的安装包,然后安装学习.于是百度搜索Spss,在百度搜索框的列表中看到Spss17.S ...
- spss C# 二次开发 学习笔记(一)——配置数据源
由于项目的需要,使用Spss进行数据统计分析. Spss对于数据统计分析的功能有多强主要是客户关注的事情,我所主要关注的是,Spss的二次开发有多复杂. 学习的基本思路是: (1)首先了解统计基本知识 ...
- Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
- OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
- 小猪cms微信二次开发之怎样分页
$db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...
随机推荐
- Android Window 9问9答
1.简述一下window是什么?在android体系里 扮演什么角色? 答:window就是一个抽象类,他的实现类是phoneWindow.我们一般通过windowManager 来访问window. ...
- Android 自定义view中的属性,命名空间,以及tools标签
昨日看到有人在知乎上问这3个琐碎的小知识点,今天索性就整理了一下,其实这些知识点并不难,但是很多开发者平时很少注意到这些, 导致的后果就是开发的时候 经常会被ide报错,开发效率很低,或者看开源代码的 ...
- Event/window.Event属性和方法
type:事件的类型,如onlick中的click:srcElement/target:事件源,就是发生事件的元素:button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下 ...
- smarty缓存函数
原来在Smarty中在3.0以上版本中不在使用这个clear_all_cache(),而是以$smarty->clearAllCache(); 代替.其中$smarty->clear_ca ...
- myeclipse svn配置
在MyEclipse 9.0中安装SVN插件遇到一些问题,参考网上一些方法,最终解决.以下是个人认为比较简易的方法,供参考: 安装过程: (1)svn的插件版本site-1.8.14.zip(可根据自 ...
- Linux系统上安装Python
1.下载Python安装包,官网下:http://www.python.org/getit/ http://jingyan.baidu.com/article/eae07827f7f2d01fec54 ...
- Initializing a Build Environment
This section describes how to set up your local work environment to build the Android source files. ...
- Java核心_内省
Java核心_内省 查看java的api,发现有一个包java.bean咦,这个包是干什么的呢,原来,它是用来操作JavaBean对象的! 一.内省操作①JavaBean:一种特殊的Java类无参构造 ...
- C++11 之 " = delete "
1 缺省函数 设计一个类,没有成员函数 (member function),只有成员数据 (member data) class DataOnly { private: std::string st ...
- static public和 public static 区别
static:加static 的是静态成员,不能实例化在你运行的时候他自己在内存中开辟了块空间,不用在new, 有点像全局变量,如果不用你必须去 实例化(new)才能用 static是静态的意思,pu ...