Ошибка в соединении с базой данных C # -> OracleDB

1

Я пытаюсь подключиться к OracleDB из проекта С#.

SqlConnection thisConnection = new SqlConnection(
"Server=127.0.0.1:3306;Database=db1;User id=abc;Password=psw;");

При запуске кода выдается исключение:

В System.Data.dll появилось первое исключение типа "System.Data.SqlClient.SqlException"
При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: сетевые интерфейсы SQL, ошибка: 25 - строка подключения недопустима)

Я попытался подключиться к локальному mysql db, и то же самое было отменено.
Я могу подключиться к серверу с помощью инструмента разработчика Oracle SQL.

В чем проблема?

  • 1
    OracleDB с использованием SqlConnection ???. Вы знаете, что SqlConnection для SQL Server
Теги:

4 ответа

2
Лучший ответ

Вы используете SqlConnection (SQL Server) для подключения к базе данных Oracle. См. Этот ответ о том, как подключиться к базе данных Oracle:

qaru.site/questions/247780/...

Как указывает Флиндеберг, вот ссылка NuGet:

https://www.nuget.org/packages/odp.net.managed/

  • 1
    Эх, нет, это неуправляемый драйвер, не используйте его. Примерно год назад у них есть управляемый драйвер (т.е. .NET).
  • 0
    Ответ, на который я ссылаюсь, содержит ссылку на то же место, что и ваш ответ, oracle.com/technetwork/topics/dotnet/index-085163.html . Спасибо, я обновлю свой ответ с помощью ссылки nuget. Я хотел бы, чтобы они получили NuGet в тот день, когда мне пришлось подключиться к Oracel!
Показать ещё 2 комментария
1

Вы используете класс SqlConnection. Этот класс используется для подключения к SQL Server данных Microsoft SQL Server.

Поскольку база данных, которую вы используете, представляет собой базу данных Oracle, вам понадобится определенный класс соединения "Oracle".

Вы можете использовать класс OracleDBConnection хотя это не рекомендуется, поскольку он устарел.

Вместо этого вы можете использовать ODP.NET, который предоставляется и поддерживается Oracle.

Надеюсь это поможет!!!

  • 0
    Обратите внимание, что этот метод подключения устарел : msdn.microsoft.com/en-us/library/77d8yct7.aspx
  • 0
    System.Data.oracleClient устарел
Показать ещё 1 комментарий
0

Попробуйте использовать драйвер ODP.Net от NuGet.

Следуйте инструкциям здесь:
Подключиться к oracle от С#

0

Вы используете разъем для сервера MS SQL, не делайте этого. Единственный драйвер, который вы должны использовать для драйвера Oracle Managed ODP.NET, который вы можете получить в NuGet. Документация доступна здесь.

Обязательно используйте управляемый драйвер, а не неуправляемый.

Пример использования:

var connection = new OracleConnection(str);
using (var command = new OracleCommand(commandStr, connection))
{
   // do stuff with command
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню