我的场景很简单:我在某个数据库中有一个员工列表,我想在sharepoint中显示它,供所有人查看(只读,无更新)。 所以我创建了SQL外部内容类型,然后基于它创建了外部列表。但我无法得到如何处理自动化。在创建外部内容类型时,您可以选择身份验证模式:用户身份,模拟窗口和自定义模拟。我不希望我的sharepoint(AD)用户有权访问数据库,因此第一个选项就出来了。我只是希望每个人都能看到sharepoint中的列表,我有一个sql用户和密码来实现,但我不知道如何提供它。我已经阅读了很多关于身份验证模式的内容,但我仍然不理解它。
答案 0 :(得分:0)
我最近遇到了类似的情况,经过大量研究后我拼凑了这个程序:
(1)在SharePoint Designer 2010中,创建外部内容类型。对于连接标识信息,请选择“使用模拟自定义标识进行连接”,对于安全存储应用程序ID,请提供通常用于数据库连接的用户名。希望连接成功。如果是,请按照您希望的方式设置ECT并保存。如果没有,您可以尝试其他身份验证选项之一(或者,在我的情况下,我必须通过VPN连接)。
(2)创建ECT并将其显示在“外部内容类型”列表中后,右键单击它并选择“导出BDC模型”。导出的BDC模型只是一个xml文件,您将在下面的步骤4中进行编辑。
(3)导出BDC模型后,删除刚刚在SharePoint Designer中创建的ECT。从现在开始,您将使用导出的BDC模型,如果保留在SharePoint Designer中创建的模型,则会发生冲突。
(4)现在在文本编辑器中打开导出的BDC模型(它将具有扩展名.bdcm)。找到元素(它会说“YourDatabase”是您的数据库名称)。删除元素的开始和结束标记之间的所有内容,并将其替换为以下内容:
<Property Name="AuthenticationMode" Type="System.String">PassThrough</Property>
<Property Name="DatabaseAccessProvider" Type="System.String">SqlServer</Property>
<Property Name="RdbConnection Data Source" Type="System.String">YOURDATASOURCE</Property>
<Property Name="RdbConnection Initial Catalog" Type="System.String">YOURDATABASE</Property>
<Property Name="RdbConnection Pooling" Type="System.String">True</Property>
<Property Name="RdbConnection User ID" Type="System.String">YOURUSERNAME</Property>
<Property Name="RdbConnection Password" Type="System.String">YOURPASSWORD</Property>
<Property Name="RdbConnection Integrated Security" Type="System.String">False</Property>
<Property Name="ShowInSearchUI" Type="System.String"></Property>
当然,请将您的值替换为实际值。
(5)然后,转到SharePoint Central管理控制台,在“应用程序管理”下,单击“管理服务应用程序”,然后单击“业务数据连接服务”。
(6)然后,单击“导入”按钮(左上角)。在导入对话框中,浏览您在上面的步骤3中修改的.bdcm文件。对于“文件类型”,请确保选择“模型”。对于“高级设置”,请选中所有三个选项(本地化名称,属性和权限)。然后单击灰色的“导入”按钮。
(7)您现在应该在列表中看到您的BDC模型。将鼠标悬停在鼠标上,直到看到下拉菜单箭头。单击它并选择“设置权限。”
(8)选择要授予权限的用户或组(并确保单击“添加”按钮),然后单击“确定”。然后点击添加按钮,您将在权限框中看到可能的权限。选中要授予的权限,然后单击“确定”。
(9)最后,ECT已准备好使用。转到SharePoint网站,单击“网站操作”&gt;更多选项,然后选择外部列表并单击“创建”按钮。在“数据源配置”区域中,单击“外部内容类型”字段最右侧的图标(“选择外部内容类型”),选择刚刚设置的ECT,然后 点击“创建”。如果一切顺利,您应该会看到SQL数据库中的数据。如果出现问题,您将收到一条非常无用的错误消息。
我希望这对某人有帮助。