У меня есть SQL Server, все, что я знаю об этом, заключается в том, что на компьютере нет установки источника данных ODBC, и мне нужно подключиться к нему с C++. У меня есть имя пользователя и пароль, как подключиться к нему?Как подключиться к SQL Server с C++ без ODBC?
ответ
Вы можете подключиться через ODBC без DSN, используя SQLDriverConnect. Укажите имя установленного драйвера в строке подключения. SQL-сервер Native клиент 11 Пример:
Driver={SQL Server Native Client 11.0};Server=SqlHostName;Database=SomeSqlDatabase;UID=YourUserName;PWD=YourPassword
Фрагмент кода:
retcode = SQLDriverConnect(hdbc
, NULL
, (SQLCHAR*)InConnectionString
, (SQLSMALLINT)sizeof(InConnectionString)
, (SQLCHAR*)OutConnectionString
, (SQLSMALLINT)sizeof(OutConnectionString)
, (SQLSMALLINT*)StringLength2Ptr
, (SQLUSMALLINT)DriverCompletion
);
EDIT:
Имя драйвера в строке соединения должен быть заключен в фигурные скобки и точно соответствовать одному перечисленные на вкладке «Драйверы» инструмента «Администратор источника данных ODBC» (odbcad32.exe). Драйвер ODBC с именем «SQL Server» поставляется с окнами, но старый драйвер обеспечивает обратную совместимость. Обычно необходимо использовать отдельно установленный драйвер ODBC, который поддерживает новые типы данных и функции, добавленные после SQL Server 2005.
Последним драйвером ODBC для SQL Server на момент написания этой статьи является автономный «драйвер ODBC 13 для SQL Server »(версия 13.1).
Выглядит хорошо, я попробую это завтра, спасибо! – Phil
Я пробовал этот API с той же строкой соединения, но получаю сообщение об ошибке вроде «[Microsoft] [ODBC Driver Manager] Имя источника данных не найдено и не указан драйвер по умолчанию». Я что-то пропустил? –
@DeepShah, ошибка, которую вы видите, указывает, что драйвер не установлен. Я добавил больше информации к моему ответу, который может помочь. –
Я лично использую SQL Server Native Client (OLE DB) в своем приложении C++ для работы с SQL Server 2008. И мне нужен только IP-адрес сервера, порт, имя пользователя и пароль для подключения к нему. (Мы используем аутентификацию SQL Server, а не проверку подлинности Windows). Для разработки/компиляции такого приложения мне нужно только файле sqlncli.h и .lib
Поставщик собственного клиента SQL Server OLE DB представляет собой низкоуровневый API COM , который используется для доступа к данным. Поставщик собственного клиента SQL Server OLE DB рекомендуется для разработки инструментов, утилит или низкоуровневых компонентов , которые требуют высокой производительности. Собственный клиент SQL Server Поставщик OLE DB - это собственный высокопроизводительный поставщик, который напрямую обращается к протоколу табличного потока данных SQL Server (TDS) .
Собственный клиент SQL Server обеспечивает поддержку OLE DB приложениям , подключающимся к SQL Server.
Это низкий уровень, но дает доступ ко всем функциям сервера. Например, я вызываю хранимые процедуры с табличными параметрами, и я использую такие типы, как varbinary (max).
Взгляните на эту статью When to Use SQL Server Native Client
SQL Server Native Client является одна технология, которую можно использовать для доступа к данных в базе данных SQL Server. Для обсуждения различных технологий доступа к данным, см Доступ к данным Технологии дорожной карты
При принятии решения об использовании собственного клиента SQL Server в качестве данных технологии доступа вашего приложения, вы должны рассмотреть несколько факторов.
Для новых приложений, если вы используете управляемый язык программирования , такие как Microsoft Visual C# или Visual Basic, и вы должны получить доступ новых функций в SQL Server, вы должны использовать .NET Framework Data Provider для SQL Server, который является частью .NET Framework.
Если вы разрабатываете приложение на базе COM и должны получить доступ к новым функциям, введенным в SQL Server, необходимо использовать собственный клиент SQL Server . Если вам не нужен доступ к новым функциям сервера SQL , вы можете продолжать использовать компоненты доступа к данным Windows (WDAC).
Для существующих приложений OLE DB и ODBC основной проблемой является , нужно ли вам обращаться к новым функциям SQL Server. Если у вас есть зрелая программа, которая не нуждается в новых функциях сервера SQL , вы можете продолжать использовать WDAC. Но если вам нужно получить доступ к тем новым функциям, таким как тип данных xml, вы должны использовать собственный сервер SQL .
Как собственный клиент SQL Server, так и поддержка MDAC считаются совершенными изоляция транзакций с использованием управления версиями строк, но только SQL Server Native Клиент поддерживает изоляцию транзакции моментальных снимков. (С точки зрения программирования, чтения совершенные изоляции транзакций с версиями строк такая же , как чтение, совершенные сделки.)
Для получения информации о различиях между SQL Server Native Client и MDAC см Обновление приложения на SQL Native сервера Клиент от MDAC.
- 1. Подключиться к SQL Server с псевдонимом ODBC
- 2. Может ли FireDac подключиться к SQL Server без ODBC?
- 3. Подключиться к MS SQL Server через ODBC
- 4. Как подключиться к SQL Server с помощью драйвера ODBC?
- 5. Как подключиться к SQL Server с perl
- 6. Не удается подключиться к SQL Server 2014 с помощью ODBC
- 7. Как подключиться с Perl к SQL Server?
- 8. MFC подключиться к серверу sql с ODBC
- 9. Как подключиться к экземпляру MS SQL Server?
- 10. Подключиться к SQL Server в C#
- 11. Запуск SQL через ODBC без лицензии SQL Server
- 12. Не удается подключиться к SQL Server C#
- 13. Как подключиться к SQL Server с asp.net
- 14. Подключитесь к LocalDB с новым драйвером ODBC для SQL Server
- 15. SQL Server & ODBC с языком C
- 16. SAS подключается к серверу sql без odbc?
- 17. Как подключиться к удаленному MS SQL Server из python с помощью py (py) odbc
- 18. Как подключиться к базе данных SQL Server Ce с C#?
- 19. Подключиться к SQL Server Express
- 20. Невозможно подключиться к MSSQL Server
- 21. Подключиться к SQL Server с PHP
- 22. Подключиться к SQLite с помощью ODBC без регистрации базы данных
- 23. подключиться к SQL Server 2012
- 24. Lazarus (Pascal) Как подключиться к SQL Server с помощью ODBC или TMSSQLConnection?
- 25. Попытка подключения с ODBC к AWS SQL Server
- 26. Как подключиться к SQL Server в ColdFusion 7 без DSN?
- 27. Подключиться к SQL Server (просмотреть)
- 28. C++ Доступ к SQL Server из Linux
- 29. Не удается подключиться к SQL Server с PHP
- 30. Как подключиться к SQL Server из приложения C# через HTTP?
Проверьте библиотека SQLAPI: http://www.sqlapi.com/ –
[Рекомендуемые C++ Абстракции Database Layers] (http://stackoverflow.com/questions/296205/recommended-c-database-abstraction-layers) [Лучший переносимый способ подключения к SQL-серверу с использованием C++] (http://stackoverflow.com/q/205802/1699210) – bummi