Alfresco x64位連接器使用.NET配置文件的x64位。配置文件位於:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.conf
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.conf
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.conf
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.conf
請記住,問題在於缺少提供程序。因此,要解決這個問題,你必須插入DbProviderFactories標籤之間的缺乏提供這樣的:
<DbProviderFactories>
<add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Framework Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.13.91, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
通過這種插入下一次與dbclient將嘗試打開數據庫並獲得詢問提供商,它會成功。
檢查由名爲Alfresco的連接器生成的日誌文件,我成功地區分了問題的根源: 「DbClient.Open錯誤:無法找到請求的.Net Framework數據提供程序,它可能未安裝。 我目前使用的是Npgsql。 正在引用Npgsql會將缺少的信息直接包含到連接器中嗎? 我會在我身邊做實驗,但隨時可以爲此主題添加一些有價值的答案。 – h0007