использование odbc вместо соединений с сервером sql в c # - PullRequest
1 голос
/ 15 июля 2011

Приветствия и приветствия! Я работаю в среде, где у меня есть сервер разработки, сервер QA и рабочий сервер. Недавно я столкнулся с проблемами, потому что хотел бы работать локально и подключить свою локальную разработку к нашему серверу разработки. При развертывании на нашем сервере разработки я хочу, чтобы подключение для передачи данных продолжало подключаться к нашему серверу разработки, но затем при развертывании на нашем контроле качества или производстве я хочу, чтобы оно подключалось к базе данных, расположенной на этом текущем сервере.

Я придумала решение, которое заключается в том, что использование источника данных ODBC для подключения к SQL вместо стандартных подключений к данным SQL является самым простым способом управления этим. Это означает изменение строки подключения, наряду с использованием odbc ado.net вместо SQL ado.net.

Мой вопрос: есть ли недостатки, ограничения или потеря производительности при использовании соединений ODBC через стандартные соединения SQL? Это помешает мне использовать LINQ / Entity Framework позже?

Спасибо, Пол

Ответы [ 3 ]

1 голос
/ 15 июля 2011

Обычно снижение производительности происходит только при создании соединения с базой данных. Эта операция интенсивна для всех типов провайдеров.

Кто-то, пожалуйста, исправьте меня, если я ошибаюсь, но начиная с .NET4 Microsoft создала драйвер Oracle, который, я считаю, позволяет LINQ to SQL. Я знаю, что это было в работе в один момент, и я знаю, что драйвер Oracle для .NET4, поэтому я предполагаю, что это тот же самый.

Тем не менее, LINQ to Entities не зависит от БД, поэтому до тех пор, пока вы придерживаетесь этого правила, все должно быть в порядке.

0 голосов
/ 16 июля 2011

Хорошо, я понял это самостоятельно.Я провел тестирование кода с использованием драйвера SQL и того же точного кода с использованием драйвера ODBC.

Мои результаты приведены ниже.

  • ODBC DRIVER: 100% успешное соединениеСредняя продолжительность 796 миллисекунд.
  • ДРАЙВЕР SQL: 100% успешное соединение!Средняя продолжительность 641 миллисекунды.

Драйвер ODBC работает немного медленнее.Я все еще мог бы использовать, потому что этот тест снова был 20 тысяч записей, поэтому разница должна быть очень минимальной.

Спасибо вам всем за вашу помощь!

Пол

0 голосов
/ 15 июля 2011

Не могу обсудить производительность, но храните ли вы строку подключения к базе данных в файле конфигурации? Мне кажется, что изменение механизма подключения является более сложным решением для изменения строки подключения, чтобы найти правильный сервер.

...