• Infopath 2010 接收SQL Server数据


    Infopath2010为我们提供了多种接收数据的方式,今天我来讲讲里面其中的一种直接读取SQL Server数据库表数据方法(高阶者的下面可以略省,只针对入门者)。

    1、选择数据库(SQL)

    image

    2、选择数据库

    image

    3、新建源

    image

    4、如图

    image

    5、填写相关信息

    image

    6、选择好你要用到的数据库

    image

    7、到这一步就基本配置好数据的连接了。

    image

    将表单发布后,大家会发现无法正常使用(会报错误报告),这是什么问题呢?让我们先到日志里找找问题出在哪里(如图)。

    image

    日志名称:          Microsoft-SharePoint Products-Shared/Operational
    来源:            Microsoft-SharePoint Products-InfoPath Forms Services
    日期:            2013/6/17 14:43:47
    事件 ID:         5566
    任务类别:          运行时 - 数据连接
    级别:            警告
    关键字:           
    用户:            SFOAany
    计算机:           oa.sfoa.com
    描述:
    以下查询失败: Stock_Details (用户: SFOAany,表单名称: 调拨单,IP: ,连接目标: ,请求: http://oa/_layouts/FormServer.aspx?XsnLocation=http://oa/FormServerTemplates/调拨单.xsn&SaveLocation=http://oa/Stock/DocLib15&ClientInstalled=true&Source=http://oa/Stock/DocLib15/Forms/AllItems.aspx&DefaultItemOpen=1,表单 ID: urn:schemas-microsoft-com:office:infopath:3XE:-myXSD-2013-06-14T07-04-56,类型: DataAdapterException,异常消息: 当前配置设置禁止在数据库连接字符串中嵌入用户名和密码。)
    事件 Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-SharePoint Products-InfoPath Forms Services" Guid="{A3499A35-DB34-421A-94FC-4D76522BEAB3}" />
        <EventID>5566</EventID>
        <Version>14</Version>
        <Level>3</Level>
        <Task>5</Task>
        <Opcode>0</Opcode>
        <Keywords>0x2000000000000000</Keywords>
        <TimeCreated SystemTime="2013-06-17T06:43:47.302862900Z" />
        <EventRecordID>2136</EventRecordID>
        <Correlation ActivityID="{70733056-96FF-41AC-B65B-563B4960D5B6}" />
        <Execution ProcessID="8492" ThreadID="5868" />
        <Channel>Microsoft-SharePoint Products-Shared/Operational</Channel>
        <Computer>oa.sfoa.com</Computer>
        <Security UserID="S-1-5-21-2353579695-1072628527-929179540-1104" />
      </System>
      <EventData>
        <Data Name="string0">Stock_Details</Data>
        <Data Name="string1">SFOAany</Data>
        <Data Name="string2">调拨单</Data>
        <Data Name="string3">
        </Data>
        <Data Name="string4">
        </Data>
        <Data Name="string5">http://oa/_layouts/FormServer.aspx?XsnLocation=http://oa/FormServerTemplates/调拨单.xsn&amp;SaveLocation=http://oa/Stock/DocLib15&amp;ClientInstalled=true&amp;Source=http://oa/Stock/DocLib15/Forms/AllItems.aspx&amp;DefaultItemOpen=1</Data>
        <Data Name="string6">urn:schemas-microsoft-com:office:infopath:3XE:-myXSD-2013-06-14T07-04-56</Data>
        <Data Name="string7">DataAdapterException</Data>
        <Data Name="string8">当前配置设置禁止在数据库连接字符串中嵌入用户名和密码。</Data>
      </EventData>
    </Event>

    从日志错误信息中不难得知问题出在哪里,接下来就让我们动手解决一下吧。

    image

    image

    为 InfoPath Forms Services 配置身份验证和数据连接设置,如上图所示配置好即可。

    安全性注意:

    1. 连接到数据库的表单可以在连接字符串中嵌入 SQL Server 用户名和密码数据。可以在与解决方案关联的数据连接文件中或在解决方案清单中以纯文本形式读取连接字符串。

    2. 在“数据源的身份验证(用户表单模板)”部分,选中“允许用户表单模板使用数据连接文件中包含的身份验证信息”复选框,以允许用户表单模板使用嵌入的身份验证信息,如 Microsoft 安全存储应用程序 ID。

    3. 在“用户表单模板的跨域访问”部分,选中“允许使用数据连接文件中的连接设置的用户表单模板跨域访问数据”复选框,以允许用户表单模板访问其他域中的数据。

    4. 单击“确定”保存设置。

    (出自Bany Blog)

  • 相关阅读:
    线程池的扩展 beforeExecute() afterExecute() terminaerd()
    信号量semaphore 读写锁ReadWriteLock 倒计时器CountDownLatch 循环栅栏 CyclicBarrier 线程阻塞工具类LockSupport
    ReenTrantLock可重入锁 和synchronized 内部所锁的
    integer.valueof和integer.parseint
    守护线程
    notify wait sleep join yield yield
    Thread.stop()不要随意调用
    iterate使用了parallel() 反而消耗了更多的时间
    Stream 分支/合并 框架的实际例子
    区分Collection、Collector和collect Collectors类的静态工厂方法
  • 原文地址:https://www.cnblogs.com/Bany/p/3140354.html
Copyright © 2020-2023  润新知