`

C#操作SAS

阅读更多

SAS数据分析,C#操作的一些辅助代码(重发)。

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SASWorkspaceManager;

namespace SASShare
{
    
public class Connection
    
{
        
/**//// <summary>
        
/// 默认创建本地连接
        
/// </summary>

        public Connection()
            : 
this(null0"""", Protocols.ProtocolBridge)
        
{}

        
public Connection(string serverIP, short serverPort, string userName, string userPass, Protocols protocols)
        
{
            
this._serverIP = serverIP;
            
this._serverPort = serverPort;
            
this._userName = userName;
            
this._userPassword = userPass;
            
this._protocals = protocols;
        }


        
private string _serverIP = string.Empty, _userName = string.Empty, _userPassword = string.Empty;
        
/**//// <summary>
        
/// 用户密码
        
/// </summary>

        public string UserPassword
        
{
            
get return _userPassword; }
            
set { _userPassword = value; }
        }

        
/**//// <summary>
        
/// 用户名
        
/// </summary>

        public string UserName
        
{
            
get return _userName; }
            
set { _userName = value; }
        }

        
/**//// <summary>
        
/// 服务器地址
        
/// </summary>

        public string ServerIP
        
{
            
get return _serverIP; }
            
set { _serverIP = value; }
        }

        
private short _serverPort;
        
/**//// <summary>
        
/// 连接端口号
        
/// </summary>

        public short ServerPort
        
{
            
get return _serverPort; }
            
set { _serverPort = value; }
        }


        
private Protocols _protocals;
        
/**//// <summary>
        
/// 连接协议
        
/// </summary>

        public Protocols Protocals
        
{
            
get return _protocals; }
            
set { _protocals = value; }
        }


        
public SASProvider CreateSASProvider()
        
{
            
return new SASProvider(this);
        }

    }

}

 

 

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SASWorkspaceManager;
using SAS;
using System.IO;
using System.Data.OleDb;

namespace SASShare
{
    
public class SASProvider
    
{
        
private IWorkspace workSpace;
        
public IWorkspace WorkSpace
        
{
            
get return workSpace; }
            
set { workSpace = value; }
        }


        
private Connection _connection;

        
public Connection Connection
        
{
            
get return _connection; }
        }

        
string message;

        WorkspaceManager _workspaceManager 
= new SASWorkspaceManager.WorkspaceManager();

        
public delegate void SASErrorEventHandler(object sender, SASErrorEventArgs args);

        
/**//// <summary>
        
/// 执行出错事件
        
/// </summary>

        public event SASErrorEventHandler OnError;

        
internal SASProvider(Connection connection)
        
{
            _connection 
= connection;
        }


        
/**//// <summary>
        
/// 运行SAS程序
        
/// </summary>
        
/// <param name="sasCommand"></param>

        public void Submit(string sasCommand)
        
{
            IServerDef2 _serverDef 
= null;
            
if (!string.IsNullOrEmpty(_connection.ServerIP))
            
{
                _serverDef 
= new SASWorkspaceManager.ServerDefClass();
                _serverDef.Port 
= Connection.ServerPort;
                _serverDef.Protocol 
= Connection.Protocals;
                _serverDef.MachineDNSName 
= Connection.ServerIP;
            }

            workSpace 
= _workspaceManager.Workspaces.CreateWorkspaceByServer("_LOCAL_", SASWorkspaceManager.Visibility.VisibilityProcess, _serverDef, _connection.UserName, _connection.UserPassword, out message);
            
try
            
{
                workSpace.LanguageService.Submit(sasCommand);
            }

            
catch (Exception e)
            
{
                FireEvent(
this, e);
            }

            
finally
            
{
                workSpace.Close();
            }

        }


        
/**//// <summary>
        
/// 运行SAS文件
        
/// </summary>
        
/// <param name="path"></param>

        public void RunSasFile(string path)
        
{
            
if (File.Exists(path))
            
{
                
string command = File.ReadAllText(path);
                Submit(command);
            }

        }


        
/**//// <summary>
        
/// 查询结果集
        
/// </summary>
        
/// <param name="libname">分配逻辑库引用名</param>
        
/// <param name="command"></param>
        
/// <returns></returns>

        public System.Data.DataSet GetResults(string libname, string command)
        
Codehighlighter1_2624_3225_Closed_Te
分享到:
评论

相关推荐

    IEC61850 DOTNet源码 c#.zip

    IEC61850标准是电力自动化领域的重要规范,它定义了变电站自动化系统(SAS)中设备之间的通信协议,旨在实现变电站的数字化、智能化。本资源包含了一套基于C#语言开发的IEC61850框架,这对于理解和应用这一标准的...

    语言为C#编写,适用于“大智慧新一代 Level-2

    语言为C#编写,适用于“大智慧新一代 Level-2 V3.03.08.0801 ”的版本。估计分析家6.0的版本也适用,暂没测试过。  对于一些有独特的行情分析方法并且现有的股票分析软件又不能满足的人士,可以考虑采用该数据接口...

    多个Dataset导出到一个Excel的多个Sheet中

    3. **Excel Interop**: .NET Framework提供了Microsoft.Office.Interop.Excel库,允许开发者通过C#或VB.NET等编程语言直接与Excel应用程序进行交互,包括创建、读取、修改和保存Excel文件。 要将多个Dataset导出到...

    AzureServeFilesFromBlobStorage

    Blob 存储由容器(Containers)、Blob 和共享访问签名(SAS)组成。容器是存储 Blob 的逻辑组,你可以将其想象为一个文件夹,而 Blob 则是实际的文件。SAS 是一种安全机制,允许你为特定资源生成有限时间内的访问...

    mpt2sas_config.rar_Windows编程_Unix_Linux_

    开发者会使用各种编程语言,如C++、C#、Visual Basic.NET等,以及Windows SDK(软件开发工具包)来创建桌面应用、服务、驱动程序等。 Unix和Linux是两种广泛使用的类Unix操作系统。Unix主要应用于服务器和工作站,...

    计算两日期之间的天数

    这个程序的名称是`TimeCompute.exe`,我们可以推断它是一个可执行文件,可能由C++或C#等编程语言编写,用于在Windows操作系统上运行。 在编程中,日期和时间的处理通常涉及到特定的数据类型和函数库。在.NET ...

    通过Azure Blob服务来提供文件下载的例子

    8. `description`可能是一个单独的文本文件,详细描述了示例的具体操作步骤或功能。`C#`文件则包含实际的C#源代码,用于实现Blob服务的文件上传和下载功能。 通过这种方式,开发者能够利用Azure Blob服务构建可扩展...

    网页自动点击(刷新)工具

    自动点击功能通常通过编程语言实现,如JavaScript、Python或C#,并可能利用浏览器的开发者工具或第三方库来实现与网页元素的交互。 "网页自动刷新工具.exe"是这个工具的可执行文件,这意味着它是Windows操作系统下...

    SCSI读写命令介绍

    32字节命令出现在SAS(Serial Attached SCSI)和FC(Fibre Channel)等高速接口中,主要用于企业级存储系统。它将地址字段扩展到64位,理论上支持的存储容量达到了惊人的16EB(Exabytes)。此外,32字节命令提供了...

    海康威视存储解除企业级硬盘限制_海康cvr存储服务器使用非企业盘.zip

    这需要考虑硬盘的容量、接口类型(如SATA、SAS等)、速度和稳定性等因素。 2. **固件或驱动程序更新**:可能需要升级或替换CVR服务器的固件或驱动程序,使其支持非企业级硬盘。 3. **RAID配置**:设置适当的RAID...

    按分隔符提取字符串组

    这通常涉及到字符串操作,特别是在编程语言如Python、Java、C#等中,我们经常需要将一个长字符串按照特定的分隔符(如逗号、空格或自定义字符)切割成多个部分,这些部分可以看作是字符串数组或列表。这个过程对于...

    Java实训的10000行代码

    这段代码示例涵盖了多种编程技巧,包括循环结构、条件语句、数组操作、数学计算、图形打印,以及数据库操作的基本概念(尽管是在C#中)。这些技能对于初学者来说是十分重要的,它们构成了编程基础的重要部分,无论是...

    使用共享访问签名保护Azure Service Bus队列

    在本文中,我们将深入探讨如何使用共享访问签名(Shared Access Signatures, SAS)来保护Azure Service Bus队列,确保只有授权的实体能够进行读写操作。 **共享访问签名(SAS)** SAS是一种身份验证机制,允许用户...

    AquaExplorer:Azure 存储资源管理器

    5. **身份验证**:AquaExplorer通过Azure Active Directory(AAD)或Shared Access Signatures(SAS)进行安全的身份验证,确保用户对存储资源的安全访问。 6. **高级功能**:包括批量操作、版本控制、元数据管理、...

    基于OPC的综合建筑管理系统的设计与实现.pdf

    - **安防自动化系统(SAS)**:集成视频监控、门禁控制和入侵报警等功能,确保建筑物的安全。 - **消防自动化系统(FAS)**:监测火灾报警信息,并触发相应的消防设备。 - **通讯自动化系统(CAS)**:管理建筑物...

    天蓝色SDK性能

    6. **异步编程**:C#的async/await关键字可以用来实现异步操作,这在处理大文件或大量数据时尤其重要,因为它允许程序在等待I/O操作完成时执行其他任务,从而提高响应性和效率。 7. **身份验证和安全**:Azure SDK...

    libiec61850最新源码-1.2.2

    这个标准定义了变电站自动化系统(Substation Automation System, SAS)中的通信协议和信息模型,旨在实现变电站设备间的互操作性和数据交换的标准化。它覆盖了从保护设备、测量仪表到控制系统的所有层面,提高了...

    AzureServiceBusGettingStarted

    你可以使用共享访问策略(SAS)或角色基础的访问控制(RBAC)来控制对资源的访问。 7. **高级特性** - **预发布(Peek-Lock)模式**:确保消息仅被一个消费者处理,防止消息丢失。 - **事务**:允许在单个操作中...

Global site tag (gtag.js) - Google Analytics