zoukankan      html  css  js  c++  java
  • Infopath Form Service示例:如何在InfoPath表单中引用SQL SERVER 中的数据?

    Infopath Form Service示例:如何在InfoPath表单中引用SQL SERVER 中的数据?
     
    1 为什么要这么做,要引用后台的数据干嘛?

    当你打开一个基于浏览器的表单时,表单中的一些下拉式控件,比如"商品类型","材料规格",你可能不希望读者自己输入,而希望直接从系统原有的SQL SERVER中的"商品类型表"读取。
    或者,你希望完成一些"自动填写"操作,比如当输入完"客户名称"时,"客户地址"一栏就会根据系统原有数据自动填写完成。

    2 基于InfoPath Form Service来引用后台数据库有什么注意的?

    基于网页的表单,根据SDK文档,你只能引用“只读”而不是提交的数据。也就是说,如果你想把表单直接回填到数据库,你不能直接通过Infopath的无 代码设计,必须做Event Handler、工作流、或是改用InfoPath方式。

    3 这个过程InfoPath Form Service做了一个什么事情?

    当用户打开这个表单的时候,InfoPath Form Service服务器自己,会以当前用户身 份,登录SQL 服务器,用SQL把数据取回来。然后通过浏览器呈给使用者。

    自己:这很重要,因为这表明,当打开InfoPath的表单时,是服务器自己去读数据,而不是使用IE客户端。

    当前用户身份:这更重要,因为你需要手动在SQL SERVER,数据库下的“安全”“用户”里面,建立一个以“使用者名称”为登录名的用户,并给这个用户Sys_DataReader的架构和权限。

    *我就是因为没有意识到这个问题,在用Admin调试完了后,交给用户使用而不成功,白白浪费了一个上午。

    4 额外做的一个些事情:

    需要调整网站结构,“网站所有内容”->“新建”->“数据连接库”

    如上所说,进入SQL SERVER,把将来使用该表单的用户加入数据库的,并赋于读取权限。

    做这个事情主要是为了存储,SQL的连接文件。

    5 主要步骤:

    “工具”->“数据连接”->“添加”->数据连接向导中选“新建连接”下的“仅接受数据”点击“下一步”->选“数据库(仅 SQL Server)”->点“选择数据库”按钮->会弹出“选取数据源”,你可以“新建一个SQL连接”,然后会弹出一个数据连接向导,你如提示 建立好一个SQL连接并且要“连接到指定表格”(步骤省略),完成这些后你的“数据源”除了“主”会多一个“辅助数据源”,名称就是你刚才建立连接设定的 名称。

    重要的一步,做好这些后,进入“数据连接库”(名称你建立的时候任意命名),在你的电脑上“我的文档”下有一个“我的 数据源”下面有你刚才通过InfoPath建立的这个数据连接文件一般是ODC扩展名。把这个文件上传到库里。

    然后:在“工具”->“数据连接”->选中你的那个SQL数据源,点击“转换...”,在对话框中可以指定那个数据连接文件,请点击“浏 览”,选中你的SharePoint数据连接库中的那个上传的文件。

    很重要的一步: 进入那个数据连接库,把库中的一个以Odc和一个udcx为扩展名的文件(转换时生成的)全部设置为 “批准”

    6 如何把数据连到控件上:

    以列表为例:双击列表控件,在“数据”选项卡上,选择“从外部数据源查找数据”,下面依提示选择好。就OK拉。

    还可以使用“规则”,比如在“用户号”一栏使用“赋值”规则, 来完成“用户名”的自动填写:

    当用户号更改时,
    把辅助数据源的“用户名”字段值赋值给“用户名”文本框域
    筛选条件是:辅助数据源的“用户号”字段值=“用户号”文本框。


    7 按正常程序发布到InfoPath表单库里就OK拉。
    SpagoBI中文社区,致力于国际优秀开源BI套件SpagoBI在中国的普通推广; 联系我们QQ群:275725345
  • 相关阅读:
    iOS系统中XML&JSON解析的代码实现
    ViewController之间如何传值
    如何归档自定义对象的数组
    一个小问题
    阶段性总结
    c语言以二进制的方式向文件读写一组数据
    C语言复杂声明,指针的复杂用法
    C语言中的getchar和putchar
    C语言结构体
    常量指针 和 指针常量
  • 原文地址:https://www.cnblogs.com/mybi/p/1794783.html
Copyright © 2011-2022 走看看