Infopath 2010 接收SQL Server資料

bany發表於2013-06-17

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
任務類別:          執行時 - 資料連線
級別:            警告
關鍵字:           
使用者:            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&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)

相關文章