Настройка ASP.NET Development Server для подключения к базе данных postgres
22752 просмотра
3 ответа
У меня есть существующее приложение ASP.NET, которое настроено для подключения к базе данных MS SQL Server, и я пытаюсь изменить его, чтобы вместо этого использовать базу данных postgres.
Я хотел бы избежать модификации кода C #, если это возможно.
Я ожидал, что следующих изменений будет достаточно:
- Добавьте ссылку на подходящий драйвер postgres, в этом случае
NauckIT.PostgreSQLProvider.dll
- Добавьте
provider
тег, чтобы указать драйвер для использования, в этом случае:
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 Development Server, а не IIS. Первоначально я думал, что это может быть проблемой, но в этом форуме сообщение предполагает иное.
Автор: finnw Источник Размещён: 17.05.2019 03:33Ответы (3)
1 плюс
Довольно замечательный http://www.connectionstrings.com/ дает примеры всех типов строк подключения, и ваш взгляд будет в порядке. К сожалению, ваш код использует SqlClient, который является единственным доступом к базе данных SqlServer в .Net. Вам придется взломать код ...
Автор: MrTelly Размещён: 12.02.2009 12:332 плюса
Вам необходимо загрузить и настроить свой драйвер подключения PostgreSQL ADO.Net, есть несколько способов сделать это, наиболее часто используется Npgsql ( http://pgfoundry.org/projects/npgsql/ ), сначала загрузите драйвер. (Загрузите Npgsql2, это новый!)
Убедитесь, что вы используете правильный DbProvider как Npgsql2
Убедитесь, что у вас есть поставщик Npgsql2 в ваших ссылках (в любом случае вы можете добавить это в свой web.config):
<system.web>
<compilation>
<assemblies>
<add assembly="Npgsql2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>
</assemblies>
</compilation>
</system.web>
Убедитесь, что поставщик данных Npgsql2 установлен как ожидалось: (вы можете добавить это в свой файл web.config):
<system.data>
<DbProviderFactories>
<add name="Npgsql2 Data Provider"
invariant="Npgsql2"
description=".Net Framework Data Provider for PostgreSQL"
type="Npgsql.NpgsqlFactory, Npgsql2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
</DbProviderFactories>
</system.data>
Добавьте строку подключения как обычно:
<connectionStrings>
<add name="Blog"
connectionString="SERVER=localhost;Database=blogstarterkit;User name=test;Password=test"
providerName="Npgsql2"/> <!-- provider invariant name, configured above -->
</connectionStrings>
Автор: kementeus
Размещён: 13.02.2009 05:18
0 плюса
Вам нужно перейти от использования классов в System.Data.SqlClient к использованию их аналогов в пространстве имен System.Data.Odbc. Вам также понадобится получить драйвер ODBC , установить его и настроить соединение ODBC на сервере. Затем вы можете использовать это именованное соединение для доступа к вашей базе данных.
Автор: tvanfosson Размещён: 12.02.2009 12:49Вопросы из категории :
- asp.net Контрольный список для проверки подлинности Windows IIS 6 / ASP.NET?
- asp.net Валидация клиентской стороны ASP.Net
- asp.net .NET - получить протокол, хост и порт
- asp.net Как получить полный URL страницы, на которой я нахожусь в C #
- asp.net Как заставить Visual Studio заново создать файлы .designer для файлов aspx / ascx?
- asp.net Response.Redirect с POST вместо Get?
- postgresql Как выбрать n-ую строку в таблице базы данных SQL?
- postgresql Как конкатенировать строки поля строки в запросе PostgreSQL?
- postgresql Возможно ли выполнять кросс-запросы к базе данных с PostgreSQL?
- postgresql Хранение изображений в PostgreSQL
- postgresql Привилегии PostgreSQL 8.3 не обновлены - неправильное использование?
- postgresql пакет вставки спящего режима с разделенным postgresql
- connection-string Настройка ASP.NET Development Server для подключения к базе данных postgres
- connection-string SQL Server запрос работает медленно из Java
- connection-string Что такое строка подключения драйвера JDBC MySQL?
- connection-string Как я могу получить доступ к SQLite с помощью C #?
- connection-string Java JDBC - Как подключиться к Oracle, используя имя службы вместо SID
- connection-string Строка подключения для экземпляра SQL Server