Odbc не видит сетевой диск

Обновлено: 03.07.2024

В этом разделе показано, как подключаться к источникам данных ODBC со страницы Выбор источника данных или Выбор назначения в мастере импорта и экспорта SQL Server.

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

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

Проверка на наличие установленного драйвера

Найдите или выберите приложение Источники данных ODBC (64-разрядное) в меню "Пуск" или панели управления. Если у вас есть только 32-разрядный драйвер или вы знаете, что вам нужен именно 32-разрядный драйвер, найдите вместо этого приложение ODBC Data Sources (32-bit) (Источники данных ODBC (32-разрядное)).

Запустите приложение. Открывается окно Администратор источников данных ODBC.

На вкладке Драйверы приведен список драйверов ODBC, установленных на вашем компьютере. (Имена некоторых драйверов могут быть указаны на нескольких языках.)

Ниже приведен пример списка установленных 64-разрядных драйверов.

Установленные 64-разрядные драйверы ODBC

Если вы знаете, что ваш драйвер установлен, но не видите его в 64-разрядном приложении, перейдите в 32-разрядное приложение. Все это также указывает, какую версию мастера импорта и экспорта SQL Server вам нужно запустить — 64- или 32-разрядную.

Чтобы использовать 64-разрядную версию мастера экспорта и импорта SQL Server, нужно установить SQL Server. SQL Server Data Tools (SSDT) и SQL Server Management Studio (SSMS) являются 32-разрядными приложениями и устанавливают только 32-разрядные файлы, включая 32-разрядную версию мастера.

Шаг 1. Выбор источника данных

Подключение к SQL с помощью ODBC ранее

Шаг 2. Указание сведений о подключении

Следующим шагом является предоставление сведений о подключении для драйвера ODBC и источника данных. Имеются две возможности.

Укажите DSN (имя источника данных), который уже существует или был создан вами в приложении Администратор источников данных ODBC. Имя DSN представляет собой коллекцию параметров, необходимых для подключения к источнику данных ODBC.

Если вы уже знаете имя DSN или сумеете его создать, можете пропустить оставшуюся часть этой страницы. Введите имя DSN в поле Dsn на странице Выбор источника данных или Выбор назначения, а затем перейдите к следующему шагу в мастере.

Укажите строку подключения, которую можно узнать в сети или создать и протестировать на компьютере с помощью приложения Администратор источников данных ODBC.

Если у вас уже есть строка подключения или вы знаете, как ее создать, можете пропустить оставшуюся часть этой страницы. Введите строку подключения в поле ConnectionString на странице Выбор источника данных или Выбор назначения, а затем перейдите к следующему шагу в мастере.

Если вы указали строку подключения, на странице Выбор источника данных или Выбор назначения отображаются все сведения о подключении, которые мастер будет использовать для подключения к источнику данных, например имя сервера и базы данных, а также метод проверки подлинности. Если вы указали имя DSN, эта информация не отображается.

Вариант 1. Указание имени DSN

Если вы хотите предоставить сведения о подключении с помощью имени DSN, используйте приложение Администратор источников данных ODBC для поиска существующего или создания нового имени DSN.

Найдите или выберите приложение Источники данных ODBC (64-разрядное) в меню "Пуск" или панели управления. Если у вас есть только 32-разрядный драйвер или вам нужен именно 32-разрядный драйвер, найдите вместо этого приложение ODBC Data Sources (32-bit) (Источники данных ODBC (32-разрядное)).

Запустите приложение. Открывается окно Администратор источников данных ODBC. Вот как это приложение выглядит.

Приложение "Администратор источников данных ODBC" на панели управления

Если вам нужно использовать существующее имя DSN для источника данных, вы можете использовать любое имя DSN, отображающееся на вкладке DSN пользователя, System DSN (Системный DSN) или DSN файла. Просмотрите имя, затем вернитесь к мастеру и введите его в поле Имя DSN на странице Выбор источника данных или Выбор назначения. Пропустите оставшуюся часть этой страницы и перейдите к следующему шагу в мастере.

Если вы хотите создать имя DSN, решите, должно ли оно быть видимым только вам ("DSN пользователя"), видимым всем пользователям компьютера, включая службы Windows ("DSN системы") или сохраненным в файле ("Файловый DSN"). Этот пример создает имя DSN системы.

На вкладке DSN системы нажмите кнопку Добавить.

Добавление имени DSN ODBC системы

В диалоговом окне Создать новый источник данных выберите драйвер для источника данных, а затем нажмите кнопку Готово.

Выбор драйвера для нового имени DSN системы

Драйвер теперь отображает один или несколько экранов, где можно ввести сведения, необходимые для подключения к источнику данных. (Например, для драйвера SQL Server предусмотрено четыре страницы настраиваемых параметров.) По завершении работы в списке появится новый системный DSN.

Новое имя DSN системы в списке

Вернитесь в мастер и введите имя DSN в поле Dsn на странице Выбор источника данных или Выбор назначения. Перейдите к следующему шагу в мастере.

Вариант 2. Указание строки подключения

Если вы хотите предоставить сведения о подключении с помощью строки подключения, дочитайте оставшуюся часть раздела до конца.

В этом примере будет использоваться следующая строка подключения, которая подключается к Microsoft SQL Server. В качестве примера базы данных используется WideWorldImporters, и мы подключаемся к SQL Server на локальном компьютере.

Введите строку подключения в поле ConnectionString на странице Выбор источника данных или Выбор назначения. После того как вы введете строку подключения, мастер проанализирует ее и отобразит отдельные свойства и их значения в списке.

Ниже показан экран, который появляется после ввода строки подключения.

Подключение к SQL с помощью ODBC позднее

Параметры подключения для этого драйвера ODBC одинаковы независимо от того, настраиваете ли вы источник или назначение. Таким образом, на страницах Выбор источника данных и Выбор назначения мастера отображаются одинаковые параметры.

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

Чтобы найти строки подключения для своего драйвера ODBC в сети, см. раздел Справочник по строкам подключения. На этом стороннем сайте представлены примеры строк подключения и дополнительные сведения о поставщиках данных и используемых ими данных подключений.

Получение строки подключения с помощью приложения

Чтобы собрать и проверить строку подключения для своего драйвера ODBC на локальном компьютере, вы можете использовать приложение Администратор источников данных ODBC на панели управления. Создайте файловое имя DSN для подключения, а затем скопируйте параметры из этого имени, чтобы использовать их при сборке строки подключения. Это требует выполнения нескольких действий, но позволяет проверить работоспособность строки подключения.

Найдите или выберите приложение Источники данных ODBC (64-разрядное) в меню "Пуск" или панели управления. Если у вас есть только 32-разрядный драйвер или вам нужен именно 32-разрядный драйвер, найдите вместо этого приложение ODBC Data Sources (32-bit) (Источники данных ODBC (32-разрядное)).

Запустите приложение. Открывается окно Администратор источников данных ODBC.

В рамках этого примера создайте файловое, а не пользовательское или системное имя DSN, так как файловое имя DSN сохраняет пары имя-значение в определенном формате, который подходит для строки подключения.

Добавление файлового имени DSN ODBC

В диалоговом окне Создать новый источник данных выберите драйвер в списке и нажмите кнопку Далее. В этом примере будет создано имя DSN, которое содержит аргументы строки подключения, необходимые для подключения к Microsoft SQL Server.

Создание источника данных ODBC

Выберите расположение и введите имя файла для нового файлового имени DSN, а затем нажмите кнопку Далее. Запомните, куда сохраняете файл, чтобы позднее вам было легче его найти.

Сохранение нового файлового имени DSN

Просмотрите сводные данные и нажмите кнопку Готово.

После нажатия кнопки Готово выбранный вами драйвер отображает один или несколько собственных экранов, чтобы собрать необходимые для подключения сведения. Обычно эти сведения включают в себя сервер, учетные данные и базу данных для источников на основе серверов и файл, формат и версию для источников, на основе файлов.

После настройки источника данных нажмите кнопку Готово. После этого обычно отображаются сводные сведения о выбранных параметрах и предоставляется возможность протестировать их.

Проверка нового файлового имени DSN

Проверив источник данных и закрыв диалоговые окна, найдите файловое имя DSN там, куда вы его сохранили. Если вы не изменяли расширение файла, по умолчанию используется расширение DSN.

Откройте этот файл в блокноте или другом текстовом редакторе. Ниже приведено содержимое нашего примера SQL Server.

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

Собрав все необходимые значения из образца файлового имени DSN, вы получите следующую строку подключения.

Если вы используете приложение "Администратор источников данных ODBC", переносить все эти параметры в имени DSN для создания работающей строки подключения обычно не требуется.

  • Всегда нужно указывать драйвер ODBC.
  • Для источника данных на основе сервера, такого как SQL Server, обычно требуются сведения о сервере, базе данных и сведения для входа. В данном примере значения TrustServerCertificate, WSID и APP вам не нужны.
  • Для источника данных на основе файла требуется по меньшей мере имя файла и расположение.

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

Error Unregistered catalog ID means no table with such name was found on remote side. Usually it happens when you connect to a database with case sensitive object names. For example,

will fail if SQL Server table is employee since Oracle will pass EMPLOYEE. Use:

And what is the reason to connect from Oracle to Oracle via HS?

It could be disk rights issue. Check this:

Doc ID: Note:105210.1
Subject: ORA-28500: Generic connectivity using ODBC DSN over mapped drive fails
Type: PROBLEM
Status: PUBLISHED
Content Type: TEXT/PLAIN
Creation Date: 12-APR-2000
Last Revision Date: 09-APR-2001

Problem Description:
====================
Using heterogeneous services and an ODBC DSN to connect to a database file stored on a local drive succeeds, but attempting to connect to a remote system over a mapped drive produces the following (or similar) errors: ORA-28500: connection from ORACLE to a non-Oracle system returned this message: [Transparent gateway for ODBC]DRV_InitTdp: [Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data. (SQL State: S1000; SQL Code: -1032) ORA-02063: preceding 2 lines from MSACCESS

Solution Description:
=====================
Modify the listener service to startup as a locally configured user that is also defined on the target system.
Steps:
------
Using "User Manager" create a user that will match a username/password on the target system that has the appropriate directory rights to the target database. From the Start Menu select Control Panel. Select services. Select the listener service. Select Startup. Change the "Log On As" dialog from "System Account" to "This Account" and provide the user/password that you created above. Restart the listener. You should now be able to access the data on the remote system database. Note: The "listener user" must have administrative rights to start the listener using the command line utility lsnrctl.exe. If the "listener user" does not have admin rights, the listener must be started from Control Panel Services.

Explanation:
============
When an Oracle listener is created, the service is setup to Log On As the SYSTEM (or operating system) account. The HS agent which is started by the listener (as the "system account") does not have designated rights on the target system and cannot access the database file.

Additional Search Words:
========================
Heterogeneous Services Generic Connectivity HS Agent Microsoft Access Foxpro Paradox HSODBC ORA-2063

ODBC весьма полезен для процедур доступа к приложениям, особенно для профессиональных пользователей. И, похоже, существует множество проблем для пользователей Windows 10, которые либо перешли с Windows 7, либо обновили свою версию Windows 10 до последней версии.

Если вы один из них и у вас есть определенные проблемы с ODBC в Windows 10, проверьте решения ниже.

  1. Удалить SMBv1 и включить SMBv2/SMBv3)
  2. Проверьте брандмауэр Windows и Защитник Windows
  3. Обновление драйверов
  4. Откат к предыдущей версии Windows

Решение 1. Удалите SMBv1 и включите SMBv2/SMBv3)

Некоторые пользователи решили проблему, отключив SMBv1 и включив SMBv2 или SMBv3. Это можно сделать различными способами, начиная с PowerShell или редактора реестра. Последний способ быстрее и проще, но может негативно повлиять на ваш компьютер при неправильном использовании. Поэтому, прежде чем выполнять следующие шаги, обязательно сделайте резервную копию вашего реестра.

Вот как отключить SMBv1 и включить SMBv2/SMBv3:


  1. В строке поиска Windows введите regedit и откройте редактор реестра.
  2. Перейдите в ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters .
  3. Щелкните правой кнопкой мыши пустое пространство и создайте новый Dword, назовите его SMB1 и установите его значение равным 0.
  4. Щелкните правой кнопкой мыши на пустом месте и создайте новый Dword, назовите его SMB2 и установите его значение равным 1.
  5. Закройте редактор реестра и перезагрузите компьютер.

Сделайте это на каждой уязвимой машине и не забудьте перезагрузить ее, чтобы изменения вступили в силу.

  • ЧИТАЙТЕ ТАКЖЕ: отключите SMBv1 в Windows с помощью этих быстрых методов

Решение 2. Проверьте брандмауэр Windows и Защитник Windows

Некоторым пользователям удалось решить проблему, просто добавив белый список или временно отключив брандмауэр Windows и включив Защитник Windows. Это долгосрочное решение, но оно того стоит. Если у вас уже есть сторонний антивирус, попробуйте объединить его с нативным антивирусом.

После этого перезагрузите компьютер и попробуйте снова получить доступ к приложению ODBC.

В случае, если вы используете 32-битный Office на 64-битной машине через ODBC, вам потребуется некоторая перенастройка, чтобы избежать ошибок драйвера. Или, скорее, доступ к версии ODBC32 вместо стандартной 64-битной версии, представленной в архитектуре x64.

Вот где его найти и как его запустить:


  1. Перейдите к C: WindowssysWOW64odbcad32.exe и запустите его. Это 32-битный администратор источника данных ODBC.
  2. Попробуйте применить драйверы снова.
  3. После того, как вы применили драйверы, перезагрузите компьютер.

Как говорили многие из затронутых пользователей, проблема возникла после того, как они обновили Windows 10 до версии 1803. То же самое можно применить к 1809. И вместо того, чтобы ждать, пока Microsoft решит проблемы ODBC в их текущем выпуске, мы скорее предлагаем откат до предыдущей версии, где сервис был полностью функциональным.

Вот как перейти к предыдущей версии Windows 10:


  1. Откройте Настройки .
  2. Выберите Обновление и безопасность .
  3. Выберите Восстановление на левой панели.
  4. Нажмите « Вернуться к предыдущей версии Windows 10 ».
  5. Нажмите Начало работы и следуйте инструкциям.

У меня есть приложение, которое работает правильно большинство моих машин здесь.

два из них перестали работать без причины, что я мог понять (те же обновления, что и все остальные, те же сетевые настройки, то же оборудование. ).

странно то, что от %SYSROOT%/SysWOW64/ODBCAD32.exe источник данных соединителя MyODBC указан, и существует системный DSN с правильным именем (так же, как и другие компьютеры). И это работает, на том же компьютере, где приложение не делает. Он находит базы данных, позволяет выбрать правильную-все.

чтобы исключить DNS, Я заменил имя на правильный IP-адрес; запрос DNS больше не произошел, но я сразу получил другую ошибку впоследствии-ошибка Winsock 10022, недопустимый сокет. Это говорит мне, что ошибка DNS, вероятно, из-за того, что приложение не может подключиться к сокету DNS-сервера.

Так что я догадался, что это был брандмауэр. Я попытался отключить его как из графического интерфейса, так и из командной строки (netsh advfirewall all profiles off), но безуспешно. Попытался войти в журнал отладки pfw, ничего там (соединение даже не запускается). Нет никакого трафика к MySQL TCP port 3306 вообще-он останавливается сначала.

на этом компьютере нет антивирусов, и он имеет все обновления (так же, как и все другие ПК).

обширный гуглить ничего не получилось-приложение находится на UNC share (так же как и другие машины, на которых оно работает), но даже если я скопирую его на локальный диск, на этих двух оно все равно не работает.

что бы это могло быть?

получается, что я мысль Я проверил это, но мой тест был ошибочным.

Я нашел в начале моего Google, что

Так что я скопировал приложение и все, что на рабочем столе. И это все равно не сработало.

то, что я забыл-не обратив внимания в то время - было что эти два шт имеют свои профили пользователей на удаленном сервере.

угадайте что. Корень сервера не был записываемый.

а это, конечно 1 , запрещает ODBC устанавливать сетевое подключение.

(1) "Конечно", в мире, где MIDI-файл не откроется из-за ошибки, которая очищается, открыв Microsoft Word. Это случилось со мной почти двадцать лет назад; я все еще надеюсь, что когда-нибудь смогу забыть об этом.

Читайте также: