У меня есть приложение ASP.NET, настроенное для подключения к базе данных MS SQL Server, и я пытаюсь изменить его, чтобы использовать вместо него базу данных postgres.
Я бы хотел, по возможности, не изменять код C #.
Я ожидал, что будет достаточно следующих изменений:
- Добавить ссылку на подходящий драйвер postgres, в данном случае
NauckIT.PostgreSQLProvider.dll
- Добавьте тег
provider
, чтобы указать используемый драйвер, в данном случае:
<connectionStrings>
<add name="default" connectionString="Server=127.0.0.1;Port=5432;User Id=finnw;Password=XXX;Database=default;Pooling=false"
<b>providerName="Npgsql"</b> />
</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 Development Server, а не IIS. Сначала я думал, что это может быть проблемой, но это сообщение на форуме предлагает иное.