将 Oracle 数据库适配器与 SharePoint 配合使用

Visual Studio 的 WCF 适配器服务开发向导使适用于 Oracle 数据库的 Microsoft BizTalk 适配器和适用于 Oracle 电子商务套件的 Microsoft BizTalk 适配器可直接用作 Microsoft SharePoint 中的外部数据源。 支持此功能的“添加服务开发向导”是使用 WCF 适配器服务 模板启动的,用于在 Visual Studio 中创建新的 Visual C# 网站。 模板包含在 BizTalk 适配器包中。 还必须安装 Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK。

SharePoint 操作支持

适配器服务开发向导为与 Microsoft SharePoint 兼容的 Oracle 适配器生成特殊服务协定。 该向导将生成一个服务协定,其中包括将适配器与 Microsoft SharePoint 集成的以下操作:

  • 创建: 受CreateItem_操作支持。

  • 读: 受ReadItem_操作支持。

  • 更新: 受UpdateItem_操作支持。

  • 删除: 受DeleteItem_操作支持。

  • 查询: 受 ReadList 操作支持。

  • 副: 受Associate_操作支持。

    以 Microsoft BizTalk Adapter for Oracle Database 为例,生成以下服务协定。 适配器配置为提供对 EMP 表的访问权限

    [System.ServiceModel.ServiceContractAttribute()]  
    public interface ISCOTT_EMP {  
  
    [System.ServiceModel.OperationContractAttribute()]  
    SCOTT_EMP_Record[] ReadList(System.Nullable<int> Limit);  
  
    [System.ServiceModel.OperationContractAttribute()]  
    void CreateItem(SCOTT_EMP_Record Input);  
  
    [System.ServiceModel.OperationContractAttribute()]  
    SCOTT_EMP_Record[] ReadItem_EMPNO(System.Nullable<decimal> EMPNO);  
  
    [System.ServiceModel.OperationContractAttribute()]  
    void UpdateItem_EMPNO(SCOTT_EMP_Record Input);  
  
    [System.ServiceModel.OperationContractAttribute()]  
    void DeleteItem_EMPNO(System.Nullable<decimal> EMPNO);  
  
    [System.ServiceModel.OperationContractAttribute()]  
    SCOTT_EMP_Record[] Associate_DEPTNO(System.Nullable<decimal> DEPTNO);  
}  

创建新网站以在 IIS 中托管 Oracle 数据库

这些步骤提供了使用 WCF 适配器服务开发向导创建托管 Microsoft BizTalk Adapter for Oracle Database 的新 WCF Web 服务的示例。 服务协定将包括与 Sharepoint 直接兼容的操作。 以便可以直接将其用作外部数据源。 适配器配置为使用 SCOTT 帐户对 Oracle 数据库进行身份验证。 如果 SCOTT 帐户已锁定,可以通过以 SYSDBA 身份登录到 SQL Plus 来解锁帐户。

<Oracle Installation Bin Directory>\Sqlplus.exe SYS AS SYSDBA  

然后,运行以下命令。

SQL> ALTER USER scott ACCOUNT UNLOCK;  

创建新网站项目

  1. 打开 Visual Studio。

  2. 在 Visual Studio 的“ 文件 ”菜单上,选择“ 新建 ”,然后单击“ 项目”。

  3. 在“ 新建项目 ”对话框中,展开 “其他语言 ”,然后单击“ Visual C#”。 在模板列表中找到 WCF 适配器服务 ,然后单击它以将其选中。

    注意

    如果未安装 BizTalk 适配器包 2013,则 WCF 适配器服务 模板不可用。 在 x64 系统上,安装 x86 和 x64 版本的 BizTalk 适配器包 2013。

  4. 指定 ScottEMP 为名称,然后单击“ 确定”。 WCF 适配器服务开发向导随即启动。

  5. 在“简介” 页上,单击“下一步” 。

  6. “选择操作” 页上,指定 oracleDBBinding 绑定。

  7. 单击“配置”按钮。 将显示 “配置适配器 ”对话框。

  8. 在“安全性”选项卡上,选择“客户端凭据类型”下拉列表框中的“用户名”。

  9. 输入 SCOTT ,输入“用户名”,并为 SCOTT 帐户输入正确的密码。 SCOTT 帐户的默认密码为 tiger

  10. 单击“ URI 属性 ”选项卡,在“ 服务器 地址”框中输入 Oracle 服务器的 IP 地址或主机名。

  11. 在“ ServiceName ”框中输入正确的 Oracle 数据库服务实例名称。 可以从 Oracle Enterprise Manager 复制实例名称信息。

  12. “配置适配器”对话框中按“确定”按钮

  13. 在向导的“ 选择操作 ”页上,单击“ 连接 ”按钮,然后稍等片刻,以便为 Oracle 数据库生成类别。

  14. “选择类别” 列表中添加类别后,向下滚动到 SCOTT 并将其展开。 然后展开 “表 ”并单击“ EMP 表”条目。

  15. “可用类别和操作 ”列表中,选择列表中的所有操作,然后单击“ 添加 ”按钮。 所有操作都添加到 “添加的类别和操作 ”列表中。

  16. “选择操作 ”页上,单击“ 下一步 ”按钮。

  17. “配置服务和终结点行为 ”页上,将此示例的 UseServiceCertificate 服务行为设置为 false 。 然后单击“ 下一步 ”按钮。

  18. “配置服务终结点绑定和地址 ”页上,单击“ 应用 ”按钮。 然后单击“ 下一步 ”按钮。

  19. “摘要 ”页上,单击“ 完成” 按钮。

  20. 单击“ 生成 ”菜单选项,然后单击“ 生成解决方案”。 验证项目生成是否成功且没有错误。

将新服务发布到 IIS

本示例将适配器主机服务发布到本地 IIS Web 服务器。

  1. 在 Visual Studio 解决方案资源管理器中,右键单击 ScottEmp 项目,然后单击“属性”。 将显示“项目Designer”选项卡。

  2. 单击“ Web ”选项卡,然后单击“ 使用本地 IIS Web 服务器 ”选项。

  3. 单击“创建虚拟目录”按钮。

  4. 打开 Web 浏览器,转到服务地址 http://localhost/ScottEmp/ISCOTT_EMP.svc。 应会收到一条消息,指出“已创建服务”,指示适配器托管在 IIS 中。

使用 SharePoint Designer将外部数据源添加到 SharePoint 网站

本节介绍如何使用 SharePoint Designer将 WCF 服务作为外部数据源添加到新网站。

  1. 打开 SharePoint Designer并创建新的网站。

  2. 在 SharePoint Designer中,展开“导航”,然后单击“网站对象”列表中的“外部内容类型”。

  3. 单击“ 外部内容类型 ”菜单按钮以创建新的外部内容类型。

  4. 单击“ 名称” 旁边的文本可编辑新外部内容类型的名称。 输入 OracleEMP 以指定名称。

  5. 单击“外部系统”旁边的文本链接,其中显示“单击此处可发现外部数据源和操作”。 这将打开 OracleEMP 外部内容类型的操作Designer。

  6. 单击发现屏幕上的 “添加连接 ”按钮。

  7. 在“外部数据源类型选择”对话框中,选择“ WCF 服务 ”,然后单击“ 确定 ”按钮。

  8. 在“WCF 连接”对话框的“ 服务元数据 URL ”框中输入 https://localhost/ScottEmp/ISCOTT_EMP.svc?wsdl

  9. 在“ 服务终结点 URL ”框中输入 https://localhost/ScottEmp/ISCOTT_EMP.svc

  10. 单击“ 确定” 按钮关闭“WCF 连接”对话框。

  11. 填充数据源信息后,展开 https://localhost/ScottEmp/ISCOTT_EMP.svc 数据源并展开 “Web 方法”。

  12. 右键单击 ReadList Web 方法,然后单击“ 新建读取列表操作”。 “读取列表”配置对话框随即启动。

  13. 在“读取列表”对话框中,单击“ 返回参数 ”,然后单击“数据源元素”中的“ EMPNO ”。 单击“ 映射到”标识符

  14. 在“读取列表”对话框中单击“ 完成 ”。

  15. 通过键入 Ctrl+s 保存新的外部数据源。

测试外部数据源连接

  1. 在新网站中,单击“ 创建列表和窗体” 按钮。 此时将显示“为 OracleEMP 创建列表和窗体”对话框。

  2. 为“列表名称”输入 OracleEMP_List ,然后单击“ 确定” 按钮。

  3. 创建列表后,单击菜单上的 “摘要视图 ”按钮。

  4. 单击“外部列表 ”下的“OracleEMP_List ”。

  5. 单击菜单上的“ 在浏览器中预览 ”按钮,测试适配器的 ReadList 操作。

疑难解答

  • 在 64 位计算机上,必须确保也安装了 32 位 Oracle 客户端组件。 这是因为 Visual Studio 及其向导将作为 32 位进程运行,需要在开发期间访问 32 位组件。