从 .Net 中的 SAS 数据源读取数据

2024-02-13

我被要求在 ASP.Net 应用程序中从 SAS 读取一些数据。我有 Windows 窗体应用程序的工作代码。然而相同的代码doesn't在 ASP.Net 中工作,但我可以尝试一下。具有相同引用的干净项目始终会失败。

这是我所得到的连接:

    SASWorkspaceManager.WorkspaceManager oWorkspaceManager
        = new SASWorkspaceManager.WorkspaceManager();
    string xmlInfo = "";

    SASWorkspaceManager.ServerDef oServerDef = new SASWorkspaceManager.ServerDef();
    oServerDef.MachineDNSName = "server";
    oServerDef.Protocol = SASWorkspaceManager.Protocols.ProtocolBridge;
    oServerDef.Port = <port>;
    oServerDef.BridgeEncryptionAlgorithm = "SASProprietary";
    oServerDef.BridgeEncryptionLevel = 
        SASWorkspaceManager.EncryptionLevels.EncryptUserAndPassword;

    SAS.Workspace oSASWorkspace = 
        oWorkspaceManager.Workspaces.CreateWorkspaceByServer ("", 
        SASWorkspaceManager.Visibility.VisibilityProcess, oServerDef, "user",
        "pass", out xmlInfo);

    oSASWorkspace.LanguageService.Submit(
        "proc means data = sashelp.class;output out=meanout;run;");
    OleDbDataAdapter oOleDbDataAdapter = new OleDbDataAdapter
                            ("select * from work.meanout",
        "provider=sas.iomprovider.1; SAS Workspace ID=" + 
        oSASWorkspace.UniqueIdentifier);
    DataSet oDS = new DataSet();
    oOleDbDataAdapter.Fill(oDS, "sasdata");

    oWorkspaceManager.Workspaces.RemoveWorkspaceByUUID(
        oSASWorkspace.UniqueIdentifier);
    oSASWorkspace.Close();

只是它无法初始化数据适配器,并出现内部异常 “尝试读取或写入受保护的内存。这通常表明其他内存已损坏。”如果我将 Trust=Full 添加到 web.config 文件中,则在填充数据适配器时会直接收到相同的错误。我们可以证明通过工作区管理器执行 SAS 命令是有效的,但当我们尝试读回结果时,初始化 SAS 连接时失败了。无论出于何种原因,该片段

OleDbDataAdapter oOleDbDataAdapter = new OleDbDataAdapter
                        (<Read Command>,
    "provider=sas.iomprovider.1; SAS Workspace ID=" + 
    oSASWorkspace.UniqueIdentifier);

似乎到处都引用了如何做到这一点,但在通过 ASP.Net 运行时却不断引发错误。

我猜这是某个地方的用户权限问题,它不喜欢在 IIS 用户下运行,但不知道什么需要授予它权限。某些 SAS 文档(抱歉,找不到)建议确保用户拥有权限,但 ASPNET 用户确实拥有对开发计算机上整个 SAS 程序目录的完全访问权限。有谁知道我还需要设置什么?谢谢。


您使用什么版本的 SAS?从 9.13 开始,WorkspaceManager 已被弃用,取而代之的是 ObjectManagerMulti(或 9.2 中的 ObjectManagerMulti2)。我不确定这会解决你的错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 .Net 中的 SAS 数据源读取数据 的相关文章

  • 如何获取枚举数作为常量?

    From 枚举中定义的项目总数 https stackoverflow com questions 856154 total number of items defined in an enum 我发现我可以使用以下方法获取枚举数 Enum
  • 使用 C 的另一个结构内的灵活长度结构数组

    你好 我正在尝试使用 C 来实现一个简单的结构 2 个盒子 每个盒子包含不同数量的颗粒 main 中传递的粒子的确切数量 我写了以下代码 typedef struct Particle float x float y float vx fl
  • 如何配置 Ninject 来注入 NodaTime IClock

    在我的 NinjectConfigurator 中我有 container Bind
  • 如何在 ASP.NET MVC 中处理会话数据

    假设我想存储一个名为language id在会议中 我想我也许可以做如下的事情 public class CountryController Controller WebMethod EnableSession true AcceptVer
  • 处理 MVC 中的创建和修改日期

    你好 我有一个 MVC 应用程序 它有 CreatedDate 和 ModifiedDate 字段 1 CreatedDate是用户创建模块的时间 任何条目 2 ModifiedDate是用户编辑模块的时间 我有以下模型类 namespac
  • 使用c#在mac上启动外部进程

    我成功地使用 System Diagnostics Process Start 在 Windows 上启动我的外部单声道可执行文件 然而在mac上却失败了 我没有收到任何错误 只是什么也没发生 我尝试按以下方式进行操作 System Dia
  • 如何在 Windows 上的 GCC 中链接 CS50 C 库

    我是 编程新手 一直在尝试使用以下命令编译我的代码MinGW https en wikipedia org wiki MinGW GCC 但我尝试包括CS50 https en wikipedia org wiki CS50 cs50 c
  • 大小为 k 的非连续子序列的最大值的最小值

    在开始之前 我希望这个问题不是重复的 我发现了几个类似的问题 但它们似乎都没有描述完全相同的问题 但如果它是重复的 我会很高兴看到一个解决方案 即使它与我的算法不同 我一直在尝试回答这个问题 https stackoverflow com
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • 向客户端发送状态码 500 时页面未呈现

    我有一个页面 通用处理程序 我想在该页面上向客户端返回状态代码 500 以指示出现问题 我这样做 Response StatusCode 500 Response StatusDescription Internal Server Erro
  • 对列表中的一系列整数求和

    假设我有一个这样的列表 List
  • 如何使用 itextsharp 更改 PDF 公式的按钮图标?

    我目前正在尝试使用 itextsharp 填写预定义的表单 除了添加图像之外 一切正常 这之前已经在 Adob e 的 FDF 工具包中运行过 该工具包已编译为 NET 1 1 这不再适用于 NET 4 0 我改用了 itextsharp
  • Qt - 添加超链接到对话框

    有没有办法在 Qt 对话框中添加可点击的超链接 IE 它应该看起来像一个超链接 蓝色文本 当您单击它时 它应该在浏览器中打开该超链接 像这样的东西 Use QLabel setOpenExternalLinks bool 并在标签上设置文本
  • 为什么使用 .AsEnumerable() 而不是转换为 IEnumerable

    扩展方法之一IEnumerable
  • Microsoft Visual Studio 2017 中的 wxWidgets 设置

    我花了大约 20 个小时试图弄清楚如何在 Microsoft Visual Studio 2017 中设置 wxWidgets 我遵循 https wiki wxwidgets org Microsoft Visual C 2B 2B Gu
  • TCP/IP 传输期间套接字数据损坏

    当我通过预连接的 TCP IP 套接字发送数据时 我发现数据已损坏 Example Station1 正在向 Station2 发送数据 我已经在发送之前 在 S1 和接收之后 在 S2 打印了数据 以下是消息 S1 发送的数据是ACKS2
  • asio::this_coro::executor 的实现是什么

    在协程函数中 我们可以添加auto ex co await asio this coro executor 获取该协程的执行者 但当我想了解它的定义时 我发现了这个 Awaitable type that returns the execu
  • C# 中的 mshtml.HTMLDocumentClass

    在 C 中 我设法从 InternetExplorer 对象获取整个 HTMLDocumentClass 导航到某个 URL 然而 在 Visual Studio 2008 的调试模式下 该特定 URL 的 HTMLDocumentClas
  • 使用属性和性能

    我正在优化我的代码 我注意到使用属性 甚至自动属性 对执行时间有深远的影响 请参阅下面的示例 Test public void GetterVsField PropertyTest propertyTest new PropertyTest
  • C# 使用 .Equals() 比较两个 double

    我使用 ReShaper 当我用 比较两个双精度值时 它建议我应该使用 Math 具有公差的 ABS 方法 看 https www jetbrains com help resharper 2016 2 CompareOfFloatsByE

随机推荐

  • 在选项卡式窗口中显示输出

    我用 Java 为 Linux 开发了一个任务管理器 目前的输出显示在控制台中 而选项卡式窗口单独出现 这是使用 Java Swing 完成的 现在我希望控制台的输出显示在选项卡式窗口中 我该怎么做 有一些我用过的课程 一个用于任务管理器功
  • UITableView 滚动时单元格数据显示不正确

    我面临一些奇怪的问题 每当我滚动表格视图时 我的数据就会被其他单元格替换 每次 它都会被不同的单元格数据替换 我在这个替换中没有看到任何特定的模式 cell UITableViewCell alloc initWithStyle UITab
  • 如何将此node.js模块降级到特定版本并防止以后自动升级?

    我正在使用node js Nodemailer模块并遇到以下错误 错误 不支持的配置 将 Nodemailer 降级到 v0 7 1 或 请参阅迁移指南https github com andris9 Nodemailer migratio
  • HTML 详细信息/摘要元素标记样式

    我有一些 CSS 可以对详细信息元素中的摘要元素旁边的标记进行样式设置 CSS 本身工作得很好 但是 如果我在第一个详细信息元素中嵌套另一个详细信息元素 创建父详细信息元素和子详细信息元素 我的标记内容将无法正确切换 一旦我打开父元素 子标
  • Postcss - 颜色函数插件 - “无法从字符串解析颜色”

    使用以下 postcss 插件 postcss cssnext postcss 嵌套 postcss 颜色函数 使用以下颜色函数时 我经常遇到以下错误 Unable to parse color from string l 20 样式 cs
  • Winforms 到 WPF 的转换:BeginInvoke 到什么?

    这是我在 WinForms 中的旧代码 private void ValueChanged double inValue1 double inValue2 only manual mode for this driver so that s
  • 在没有循环的情况下找到两个向量中的最大值?

    如果有两个向量 比如说x and y for i in 1 length x z i max x i y i 你能帮我在不使用循环的情况下执行此操作吗 假设向量x and y具有相同的长度 pmax是你的函数 z pmax x y 如果长度
  • sql server中schema的重要性是什么?

    sql server中schema的重要性是什么 这个模式对我有什么帮助 出于安全原因这很重要吗 Yes SQL 模式的主要目的是促进安全管理 定义谁 哪些主体 可以访问什么 哪些数据库对象 从 SQL 2005 开始 当架构不再直接与所有
  • php shell exec wget 不在后台运行

    我想按如下方式运行 wget shell exec wget http somedomain com somefile mp4 sleep 20 continue my code 我想要的是让 PHP 等待 shell exec wget
  • 控制台应用程序相互通信的推荐方式是什么?

    我有一个用 C 编写的控制台应用程序系统 在不同的机器上运行 我用的是MSMQ 我的问题是 如何使我的控制台应用程序相互通信 我这样问是因为我想创建一个新的控制台应用程序 其他应用程序可以查询该应用程序以了解 MSMQ 中的消息数量 编辑1
  • 我可以在 pom 或 settings.xml 中包含 mvn deploy:deploy-file 而不是 cli goal

    我需要将自定义 jar 与从我的 Java 项目生成的 jar 一起部署到 Artifactory 目前我能找到的唯一方法是通过命令行目标使用 mvn deploy deploy file DgroupId
  • 配置套接字 ACK 超时?

    有没有办法配置套接字在决定连接失败之前期望收到已发送数据的 ACK 的超时 我知道这也可以在应用程序级别完成 但是由于我发送的每个数据包都已被确认 并且我只想知道是否收到了我的数据 因此在应用程序级别使用附加数据来完成相同的任务事情似乎很浪
  • Nexus3:推送到 Docker Group Repo

    I have Nexusv3 6 and created a Docker repo docker repo type hosted and a Docker group docker group type group For both I
  • 动态调用方法和类名

    在某些情况下 我必须从类名中调用方法名 string scenario1 MockScenario1 string scenario2 MockScenario2 MockScenario1 GetInfo MockScenario2 Ge
  • 为什么我只能看到一个 Spark Streaming kafkaReceiver

    我很困惑为什么我只能在 Spark Web UI 页面 8080 中看到一个 KafkaReceiver 但我在Kafka中有10个分区 并且在spark集群中使用了10个核心 我的Python代码如下 kvs KafkaUtils cre
  • Python configparser 不会接受没有值的键

    因此 我正在编写一个从配置文件中读取的脚本 并且我想完全按照 configparser 的设计方式使用它 如下所述 http docs python org release 3 2 1 library configparser html h
  • 编译器如何将异步方法的返回值转换为返回Task

    我设计了以下方法来创建记录 public Task
  • 常规的。表达式检查字符串的第一个字母

    我想检查字符串的第一个字符是否是字母 我的正则表达式是 a zA Z 这是行不通的 它出什么问题了 您的表达式不需要 也不应该有 a zA Z 事实上 如果您不需要知道这封信是什么 您可以更简单 a zA Z These expressio
  • 如何打包Python程序

    我是 python 编程新手 我正在编写一个简单的基于命令行的 twitter 应用程序 我必须使用外部库 如 simplejson tweepy 等 有没有一种方法可以打包我的python程序来包含这些库 这样当我分发这个程序时 用户不必
  • 从 .Net 中的 SAS 数据源读取数据

    我被要求在 ASP Net 应用程序中从 SAS 读取一些数据 我有 Windows 窗体应用程序的工作代码 然而相同的代码doesn t在 ASP Net 中工作 但我可以尝试一下 具有相同引用的干净项目始终会失败 这是我所得到的连接 S