我有一个现有的 ASP.NET 应用程序,它被配置为连接到 MS SQL Server 数据库,我正在尝试修改它以使用 postgres 数据库。
如果可能的话,我想避免修改 C# 代码。
我预计以下更改就足够了:
- 在这种情况下,添加对合适的 postgres 驱动程序的引用
NauckIT.PostgreSQLProvider.dll
- 添加一个
provider
标签来指定要使用的驱动程序,在这种情况下:
<连接字符串> <add name="default" connectionString="Server=127.0.0.1;Port=5432;User Id=finnw;Password=XXX;Database=default;Pooling=false" providerName="Npgsql" /> </connectionStrings>
但是该providerName
标签似乎没有任何效果(尽管它本身不会产生错误。)相反,我仍然在浏览器中看到此错误消息:
[ArgumentException: Keyword not supported: 'port'.]
System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) +4907604
System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) +98
System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) +55
它看起来好像仍在尝试使用 MS SQL Server 驱动程序。
我如何说服它不要这样做?
我使用的是 ASP.NET 开发服务器,而不是 IIS。最初,我认为这可能是问题所在,但此论坛帖子另有建议。