Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8351026
  • 博文数量: 444
  • 博客积分: 10593
  • 博客等级: 上将
  • 技术积分: 3852
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-09 15:26
文章分类

全部博文(444)

文章存档

2014年(1)

2013年(10)

2012年(18)

2011年(35)

2010年(125)

2009年(108)

2008年(52)

2007年(72)

2006年(23)

分类: 系统运维

2010-06-17 13:47:16

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拉。
阅读(1502) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~