Sharepoint postgresql 数据连接

Sharepoint postgresql 数据连接

我们正在将我们的内部网迁移到 SharePoint 和我们以前使用的系统,postgresql因此我尝试让它与 SharePoint 一起工作,但这并不容易。

我尝试在 SharePoint 设计器上添加数据源并安装 ODBC(psqlODBC)和 OLEDB(PGNP)驱动程序,但即使这样,SharePoint 设计器上仍然出现错误(如下图所示)。

有趣的是,在 SharePoint 服务器上,我能够使用我安装的 OLEDB 提供程序通过 Excel 进行连接。 在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

下面列出了我在查看 SharePoint 日志时遇到的错误,这些错误发生在两次 POST 期间(出于安全原因,域不是那个)(POST:https://sharepoint.com/_vti_bin/webpartpages.asmx:GetXmlDataFromDataSource)

05/21/2016 18:08:13.24  w3wp.exe (0x2714)   0x3D04  SharePoint Foundation   Claims Authentication   a1n25   High    Token is for a windows account. e3827e9d-0814-1066-3883-8cc161d0f500
05/21/2016 18:08:13.26  w3wp.exe (0x2714)   0x3D04  SharePoint Foundation   Claims Authentication   a5rig   High    User key is not an encoded claim. UserKey: '            '.  e3827e9d-0814-1066-3883-8cc161d0f500

答案1

这就是我解决问题的方法。

除非您安装 layer2solutions,否则 Sharepoint 将不会提供选择适当的外部数据源驱动程序的选项:

www.layer2solutions.com(这不是免费的)

这将为您提供所有列表设置页面上的一个名为“连接到外部数据源”的新链接,然后您可以选择“Postegresql 的 .Net 数据提供程序”,并使用下面的连接字符串连接到 PostgreSQL。

用户ID=用户;密码=密码;主机=postgresql_host_ip;端口=5432;数据库=数据库名称;

作为数据提供者,我使用了 npgsql:

https://github.com/npgsql/Npgsql/releases

(下载 msi 安装程序)。

  1. 安装 npgsql
  2. 安装 layer2solutions
  3. 在 SharePoint 中添加列表
  4. 转到列表设置
  5. 点击“连接外部数据源”
  6. 使用连接字符串和你的数据库设置
  7. 保存设置
  8. 为了在 Sharepoint 中创建新的列表项,Postgresql 表中的 ID(主键)需要有一个默认的序列值,否则您将收到“非空”错误。

相关内容