Infopath2010為我們提供了多種接收數據的方式,今天我來講講里面其中的一種直接讀取SQL Server數據庫表數據方法(高階者的下面可以略省,只針對入門者)。
1、選擇數據庫(SQL)
2、選擇數據庫
3、新建源
4、如圖
5、填寫相關信息
6、選擇好你要用到的數據庫
7、到這一步就基本配置好數據的連接了。
將表單發布后,大家會發現無法正常使用(會報錯誤報告),這是什么問題呢?讓我們先到日志里找找問題出在哪里(如圖)。
日志名稱: Microsoft-SharePoint Products-Shared/Operational 來源: Microsoft-SharePoint Products-InfoPath Forms Services 日期: 2013/6/17 14:43:47 事件 ID: 5566 任務類別: 運行時 - 數據連接 級別: 警告 關鍵字: 用戶: SFOA\bany 計算機: oa.sfoa.com 描述: 以下查詢失敗: Stock_Details (用戶: SFOA\bany,表單名稱: 調撥單,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">SFOA\bany</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&SaveLocation=http://oa/Stock/DocLib15&ClientInstalled=true&Source=http://oa/Stock/DocLib15/Forms/AllItems.aspx&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>
從日志錯誤信息中不難得知問題出在哪里,接下來就讓我們動手解決一下吧。
為 InfoPath Forms Services 配置身份驗證和數據連接設置,如上圖所示配置好即可。
安全性注意:
-
連接到數據庫的表單可以在連接字符串中嵌入 SQL Server 用戶名和密碼數據。可以在與解決方案關聯的數據連接文件中或在解決方案清單中以純文本形式讀取連接字符串。
-
在“數據源的身份驗證(用戶表單模板)”部分,選中“允許用戶表單模板使用數據連接文件中包含的身份驗證信息”復選框,以允許用戶表單模板使用嵌入的身份驗證信息,如 Microsoft 安全存儲應用程序 ID。
-
在“用戶表單模板的跨域訪問”部分,選中“允許使用數據連接文件中的連接設置的用戶表單模板跨域訪問數據”復選框,以允許用戶表單模板訪問其他域中的數據。
-
單擊“確定”保存設置。
(出自Bany Blog)