1С sql база данных не обнаружена: 404 — Страница не найдена
Решение проблемы, когда не найден сервер 1С:Предприятие
Решаемая задача: Восстановление работоспособности сервера и программы 1С.
Для выполнения описанных действий требуется учетная запись Администратора.
Проверка программ и служб на работоспособность
Шаг 1. Проверяем доступность порта соединения
С:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 –port
Этот адрес меняется в зависимости от версии 1С:
- C:\Program Files (x86)\1cv8\\bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.3
- C:\Program Files\1cv8\\bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.3
- C:\Program Files (x86)\1cv82\\bin — для 32-разрядной версии сервера «1С:Предприятие» версии 8.2
- C:\Program Files\1cv82\\bin — для 64-разрядной версии сервера «1С:Предприятие» версии 8.2
Шаг 2. Проверяем в процессах есть ли «rphost.exe» «ragent.exe» «rmngr.exe», он должен быть активен.
Шаг 3. Проверяем запущен ли агент сервера 1С в службах и сравниванием версию и порт в строке «Исполняемый файл»
Шаг 4. Проверяем работоспособность сервера MS SQL
Выполняем: Пуск – Программы — Microsoft SQL Server 2008 R2 (у Вас может быть любая версия ) — Средства настройки.
Напротив служб «SQL Server» и «Агент SQL Server» должен быть статус Работает.
Если всё запущено и не работает
Шаг 5. Останавливаем службу 1С
В командной строке:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
Шаг 6. Переходим к удалению процессов
Далее по очередности удаляем процессы:
TASKKIll /F /FI "IMAGENAME eq rphost*"
TASKKIll /F /FI "IMAGENAME eq rmngr*"
TASKKIll /F /FI "IMAGENAME eq ragent*"
Шаг 7. Чистим временные папки и файлы
Далее нужно будет почистить папки 1С с временными файлами с папками типа:
По таким адресам чистим папки подобного типа как на картинке:
C:\Users\ «Пользователь»\AppData\Local settings\Application data\1C\1Cv82\
C:\Users\ «Пользователь»\AppData\Local settings\Application data\1C\1Cv8
C:\Users\ «Пользователь»\AppData\Roaming\1C\1Cv82
C:\Users\ «Пользователь»\AppData\Roaming\1C\1Cv8)
С:\Program Files\1cv8\srvinfo\reg_1541\
Когда выполнили все условия, переходим к шагу запуска 1С.
Шаг 8. Запускаем службу 1С
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Теперь всё должно работать.
не обнаружена установленная версия 1С
Содержание:
1. Причины ошибки «Не обнаружена установленная версия 1С»
2. Из-за чего 1С выдает ошибку?
Прекрасным солнечным утром, придя на работу и включив компьютер, можно столкнуться с неприятной ситуацией, когда при запуске 1C появляется следующее:
В этой статье постараемся разобраться в причинах возникновения ошибки, и возможных вариантах её исправления.
1. Причины ошибки «Не обнаружена установленная версия 1С»
Причин возникновения ошибки может быть несколько:
— Перенос 1С на другой компьютер;
— переустановка Windows;
— обновление версии платформы;
— изменение списка информационных баз 1С Предприятия;
— внесение изменений в конфигурационные файлы 1С.
Давайте попробуем самостоятельно разобраться в том, что же именно произошло. Для этого нам потребуется открыть наш список информационных баз в программе 1С предприятие 8, выбрать базу 1С что не запускается, и нажать кнопку «Изменить», находящуюся справа от списка.
Теперь мы оказались в окне настроек нашей информационной базы 1С Предприятия. Нам нужно перейти на следующую страницу настроек, нажав кнопку «Далее».
И вот она строка, из-за которой и возникла проблема: «Версия 1С:Предприятия»
Именно она отвечает за то, какая именно версия платформы будет запущена для нашей информационной базы 1С Предприятия.
Для дальнейшего понимания сути нужно сделать небольшое отступление и рассказать немного про обновление версии платформы. На самом деле, версия платформы не обновляется, а устанавливается новая. При этом старая версия не удаляется. Таким образом на нашем компьютере может быть сколь угодно много различных версий платформы. Все эти версии по умолчанию устанавливаются в папку C:\Program Files (x86)\1cv8, ну, или если у вас 64-х битная версия Windows, то C:\Program Files\1cv8.
Также список установленных версий платформ можно посмотреть, открыв меню:
· Для Winsows 7: Пуск → Панель управления → Программы и компоненты;
· Для Windows 10: Пуск → Параметры Windows → Приложения.
Итак, вернемся к нашему параметру «Версия 1С:Предприятия». Если у нас появляется ошибка «Не обнаружена установленная версия 1С», значит либо у нас не установлена нужная версия платформы, указанная в параметре, либо версия платформы в параметре указана неверно. Этот параметр может состоять из нескольких разрядов. Чем правее число, тем меньше разряд. Младший разряд зависит от старшего, то есть мы можем указать только старшие разряды, а система сама выберет самый последний из младшего. Например, у нас установлено только две версии платформы: 8.3.14.65 и 8.3.14.77. Если в параметре «Версия 1С:Предприятия» указать 8.3.14, или просто 8.3, то система сама запустит версию платформы 8.3.14.77. Даже если ничего не указать, то система проанализирует какие платформы установлены и запустит самую новую версию.
2. Из-за чего 1С выдает ошибку?
Ошибка в программе 1С предприятие 8 возникает, если наша конфигурация использует версию платформы 8.3.хх.хх, а в параметре «Версия 1С:Предпирятия» указано 8.2, 8.1 или 8.0.
В таком случае нужно просто ничего не указывать в данном параметре, либо знать нужную для запуска версию платформы и проверить ее установку на вашем компьютере.
Для более продвинутых специалистов сферы IT скажу, что все эти параметры информационных баз, как и сам их список, хранятся по умолчанию в файле ibases.v8i в папке C:\Users\«Имя_Пользователя»\AppData\Roaming\1C\1CEStart.
Не буду вдаваться в подробности описания всех параметров файла конфигурации информационных баз, так как для решения рассматриваемой сегодня проблемы нам нужно знать только то, что в квадратных скобках указывается Имя нашей информационной базы, а параметр Version=8.3 – это как раз та версия платформы, на которой необходимо запускать нашу конфигурацию. Формат файла текстовый в кодировке UTF, так что его можно редактировать даже стандартным блокнотом.
Надеюсь, данный материал был Вам полезен и помог справиться с проблемой запуска программы.
Специалист компании ООО «Кодерлайн»
Цветов Дмитрий Александрович
Устранение неполадок при соединении с ядром СУБД SQL Server. — SQL Server
-
- Чтение занимает 13 мин
В этой статье
Применимо к: SQL Server (все поддерживаемые версии)
В этой статье описаны методы поиска и устранения неполадок, при которых не удается подключиться к экземпляру ядра СУБД SQL Server на отдельном сервере.
Примечание
Для других сценариев см. такие материалы:
Эти инструкции не входят в процедуры решения наиболее вероятных проблем, так как, скорее всего, вы уже пробовали выполнить эти процедуры. Сначала указываются шаги по устранению базовых ошибок, а затем рассматриваются более сложные вопросы. При выполнении этих действий предполагается, что вы подключаетесь к экземпляру SQL Server с другого компьютера по протоколу TCP/IP, так как этот вариант является наиболее распространенным.
Эти инструкции предназначены для устранения неполадок, связанных с ошибкой «Подключение к серверу» (например, Error Number: 11001 (or 53), Severity: 20, State: 0
). В следующем примере показано сообщение об ошибке:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 53)
(provider: TCP Provider, error: 0 - No such host is known.) (Microsoft SQL Server, Error: 11001)
Эта ошибка обычно означает, что клиенту не удается найти экземпляр SQL Server. Обычно это происходит при наличии хотя бы одной из следующих проблем:
- Имя компьютера, на котором размещен SQL Server
- экземпляр не может правильно разрешить IP-адрес;
- номер TCP-порта указан неправильно.
Совет
Интерактивную страницу по устранению неполадок можно найти на сайте службы технической поддержки Microsoft на странице Solving Connectivity errors to SQL Server (Устранение ошибок подключения к SQL Server).
Ошибки, не описанные в статье
Получение имени экземпляра из диспетчера конфигурации
На сервере, на котором размещен экземпляр SQL Server, проверьте имя экземпляра. Используйте диспетчер конфигурации SQL Server.
Диспетчер конфигурации автоматически устанавливается на компьютер при установке SQL Server. Инструкции по запуску диспетчера конфигурации могут незначительно отличаться в зависимости от версии SQL Server и Windows. Подробные сведения об определенных версиях см. в статье Диспетчер конфигурации SQL Server.
Войдите на компьютер, на котором размещен экземпляр SQL Server.
Запустите диспетчер конфигурации SQL Server.
На левой панели выберите Службы SQL Server.
На правой панели проверьте имя экземпляра ядра СУБД.
SQL SERVER (MSSQLSERVER)
— это экземпляр SQL Server по умолчанию.<computer name>
— имя экземпляра по умолчанию.SQL SERVER (<instance name>)
— это именованный экземпляр SQL Server.<computer name>\<instance name>
— имя именованного экземпляра.
Проверка выполнения экземпляра
Проверить, выполняется ли экземпляр, позволяет значок около экземпляра SQL Server в диспетчере конфигурации.
- Если экземпляр выполняется, отображается зеленая стрелка.
- Красный квадрат означает, что экземпляр остановлен.
Если экземпляр остановлен, щелкните его правой кнопкой мыши и выберите команду Запустить. Экземпляр будет запущен, и красный квадрат поменяется на зеленую стрелку.
Убедитесь, что служба обозревателя SQL Server запущена
Чтобы подключиться к именованному экземпляру, нужно запустить службу обозревателя SQL Server. В диспетчере конфигурации найдите службу Обозреватель SQL Server и проверьте, запущена ли она. Если она не работает, запустите ее. Служба обозревателя SQL Server не требуется для экземпляров по умолчанию.
Экземпляр SQL Server по умолчанию не требует службы «Обозреватель SQL Server».
Тестирование локального подключения
Перед устранением неполадки, связанной с подключением с другого компьютера, нужно проверить возможность подключения из клиентского приложения, установленного локально на компьютере, на котором запущен SQL Server. Локальное подключение позволяет избежать проблем, связанных с сетями и брандмауэрами.
В этой процедуре используется среда SQL Server Management Studio. Если среда Management Studio не установлена, см. раздел Скачивание SQL Server Management Studio (SSMS). Если установить Management Studio не получается, вы можете проверить соединение с использованием служебной программы sqlcmd.exe
. sqlcmd.exe
устанавливается вместе с ядром СУБД. Дополнительные сведения о sqlcmd.exe
см. в разделе Программа sqlcmd.)
Войдите на компьютер, на котором установлен SQL Server, с помощью имени входа с разрешением на доступ к SQL Server. (Во время установки для SQL Server требуется задать по меньшей мере одно имя входа в качестве администратора SQL Server. Если администратор неизвестен, см. сведения в статье Подключение к SQL Server в случае, если доступ системных администраторов заблокирован.)
На начальной странице введите SQL Server Management Studio. В более старых версиях Windows в меню «Пуск» выберите Все программы, Microsoft SQL Server, а затем щелкните SQL Server Management Studio.
В диалоговом окне Соединение с сервером в списке Тип сервера выберите Ядро СУБД. В поле Проверка подлинности выберите Проверка подлинности Windows. В поле Имя сервера задайте один из следующих типов подключения:
Подключение к Тип Пример Экземпляр по умолчанию <computer name>
ACCNT27
Именованный экземпляр <computer name\instance name>
ACCNT27\PAYROLL
Примечание
При подключении к SQL Server из клиентского приложения на том же компьютере используется протокол общей памяти. Общая память — это тип локального именованного канала, поэтому иногда возникают ошибки, связанные с каналами.
Если на этом этапе происходит ошибка, ее необходимо устранить перед продолжением работы. Существует целый ряд потенциальных проблем. Имя входа может не иметь разрешений для подключения. Может отсутствовать база данных по умолчанию.
Примечание
В некоторых сообщениях об ошибках, передаваемых клиенту, намеренно не приведены достаточные сведения для устранения неполадок. Это связано с обеспечением безопасности, так как в этом случае злоумышленник не может получить данные о SQL Server. Чтобы просмотреть полные сведения об ошибке, обратитесь к журналу ошибок SQL Server. Там вы найдете все подробности.
Если возникает ошибка
18456 Login failed for user
, дополнительные сведения о кодах ошибки см. в описании ошибки MSSQLSERVER_18456. Подробный список кодов ошибок приведен в блоке Аарона Бертрана (Aaron Bertrand) в статье Troubleshooting Error 18456 (Устранение ошибки 18456). Журнал ошибок можно просмотреть помощью среды SSMS (при наличии соединения) в разделе «Управление» обозревателя объектов. В противном случае журнал можно просмотреть с помощью программы Блокнот Windows. Расположение по умолчанию зависит от версии и может быть изменено во время установки. Расположением по умолчанию для SQL Server 2019 (15.x) являетсяC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG
.Если соединение устанавливается с помощью общей памяти, проверьте его с использованием TCP. Вы можете принудительно задать TCP-подключение, указав
tcp:
перед именем. Пример:Подключение к Тип: Пример Экземпляр по умолчанию tcp:<computer name>
tcp:ACCNT27
Именованный экземпляр tcp:<computer name/instance name>
tcp:ACCNT27\PAYROLL
Если соединение устанавливается с помощью общей памяти, но не TCP, необходимо устранить проблему с TCP. Скорее всего, проблема в том, что TCP-протокол отключен. Сведения о включении TCP см. в разделе Включение протоколов выше.
Если вы хотите установить соединение с использованием учетной записи, отличной от учетной записи администратора, после соединения с правами администратора повторите попытку, используя имя входа для проверки подлинности Windows или имя входа для проверки подлинности SQL Server, которое использует клиентское приложение.
Получение IP-адреса сервера
Получите IP-адрес компьютера, на котором размещен экземпляр SQL Server.
- В меню «Пуск» щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.
- В окне командной строки введите
ipconfig
и нажмите клавишу ВВОД. Запишите IPv4 -адрес и IPv6 -адрес.
SQL Server может использовать для подключения IP-протокол версии 4 или версии 6. В вашей сети может быть разрешен один из них или оба. Большинство пользователей начинает устранение неполадок с IPv4 -адреса. Он короче и проще для ввода.
Получение данных о номере TCP-порта для экземпляра SQL Server
В большинстве случаев соединение с ядром СУБД SQL Server с другого компьютера устанавливается по протоколу TCP.
- Используя SQL Server Management Studio на компьютере с SQL Server, подключитесь к экземпляру SQL Server. В обозревателе объектов разверните узел Управление, разверните Журналы SQL Server, а затем дважды щелкните текущий журнал.
- В средстве просмотра журнала нажмите кнопку Фильтр на панели инструментов. В поле Сообщение содержит текст введите
server is listening on
, щелкните Применить фильтр, а затем — ОК. - Должно отобразится сообщение, подобное этому:
Server is listening on [ 'any' <ipv4> 1433]
.
Сообщение означает, что этот экземпляр SQL Server прослушивает все IP-адреса на этом компьютере (для IP-протокола версии 4) и TCP-порт 1433. (TCP-порт 1433 — это порт, обычно используемый ядром СУБД или экземпляром SQL Server по умолчанию. Использовать определенный порт может только один экземпляр SQL Server. Поэтому, если установлено несколько экземпляров SQL Server, некоторые из них должны работать с другими номерами портов.) Запишите номер порта для того экземпляра SQL Server, к которому вы пытаетесь подключиться.
Примечание
Вероятно, что будет указан IP address 127.0.0.1
. Он называется петлевым адресом адаптера. Использовать его для подключения могут только процессы, выполняющиеся на одном компьютере. Он может быть полезен при устранения неполадок, но не подходит для соединения с другого компьютера.
Включение протоколов
В некоторых установках SQL Server соединение с компонентом Database Engine с другого компьютера по умолчанию отключено, если администратор не включил его с помощью диспетчера конфигурации. Чтобы разрешить соединения с других компьютеров, нужно выполнить указанные ниже действия.
- Запустите диспетчер конфигурации SQL Server, как описано выше.
- В диспетчере конфигурации на левой панели разверните узел Сетевая конфигурация SQL Server, а затем выберите экземпляр SQL Server, к которому нужно подключиться. На правой панели перечислены доступные протоколы соединений. Как правило, включена общая память. Ее можно использовать только на том же компьютере, поэтому в большинстве установок общая память остается включенной. Для подключения к SQL Server с другого компьютера обычно используется протокол TCP/IP. Если TCP/IP не включен, щелкните элемент TCP/IP правой кнопкой мыши и выберите команду Включить.
- Если включенный параметр для протокола был изменен, необходимо перезапустить ядро СУБД. На левой панели выберите Службы SQL Server. На правой панели щелкните экземпляр Database Engine правой кнопкой мыши и выберите команду Перезапустить.
Тестирование подключения TCP/IP
Для подключения к SQL Server по протоколу TCP/IP требуется возможность установки соединения в Windows. Для тестирования TCP-подключения воспользуйтесь средством ping
.
В меню «Пуск» щелкните Выполнить. В окне Выполнить введите cmd, а затем нажмите кнопку ОК.
В окне командной строки введите
ping <ip address>
и IP-адрес компьютера, на котором запущен SQL Server. Пример:- IPv4:
ping 192.168.1.101
- IPv6:
ping fe80::d51d:5ab5:6f09:8f48%11
- IPv4:
Если сеть настроена правильно, команда
ping
возвращаетReply from <IP address>
и некоторые дополнительные сведения. Еслиping
возвращаетDestination host unreachable
илиRequest timed out
, значит TCP/IP настроен неправильно. На этом этапе ошибка может указывать на проблему с клиентским компьютером, компьютером сервера или сетевую проблему, например ошибку маршрутизатора. Сведения об устранении неполадок сети см в статье Advanced troubleshooting for TCP/IP issues (Устранение проблем TCP/IP повышенной сложности).Затем, в случае успешной проверки связи с использованием IP-адреса, убедитесь, что имя компьютера может быть разрешено в TCP/IP-адрес. На клиентском компьютере в окне командной строки введите
ping
и имя компьютера, на котором запущен SQL Server. Например,ping newofficepc
.Если команда
ping
для IP-адреса выполняется успешно, ноping
по имени компьютера возвращаетDestination host unreachable
илиRequest timed out
, причиной могут быть устаревшие сведения о разрешении имен, сохраненные в кэше клиентского компьютера. Введитеipconfig /flushdns
, чтобы очистить кэш DNS. Затем проверьте связь с компьютером по имени еще раз. Клиентский компьютер с пустым кэшем DNS проверяет наличие последних сведений об IP-адресе компьютера сервера.Если сеть настроена правильно, команда
ping
возвращаетReply from <IP address>
и некоторые дополнительные сведения. Если проверка связи с компьютером сервера по IP-адресу выполняется успешно, но при проверке связи по имени компьютера поступает сообщение об ошибкеDestination host unreachable.
илиRequest timed out.
, значит, разрешение имен настроено неправильно. (Дополнительные сведения см. в упомянутой ранее статье 2006 г. How to Troubleshoot Basic TCP/IP Problems (Устранение основных проблем с TCP/IP).) Для подключения к SQL Server успешное разрешение имен не требуется, но, если нельзя разрешить имя компьютера в IP-адрес, подключения следует выполнять по IP-адресам. Разрешение имен можно исправить позже.
Открытие порта в брандмауэре
По умолчанию брандмауэр Windows включен и блокирует подключения с других компьютеров. Чтобы подключиться с использованием протокола TCP/IP с другого компьютера, на компьютере SQL Server необходимо настроить брандмауэр для разрешения подключений к TCP-порту, используемому компонентом Database Engine. Экземпляр по умолчанию прослушивает по умолчанию TCP-порт 1433. Если запущены именованные экземпляры или вы изменили значение по умолчанию, TCP-порт SQL Server может прослушивать другой порт. См. раздел Получение данных о номере TCP-порта для экземпляра SQL Server.
При подключении к именованному экземпляру или порту, отличному от TCP-порта 1433, необходимо также открыть UDP-порт 1434 для службы обозревателя SQL Server. Пошаговые инструкции по открытию портов в брандмауэре Windows см. в статье Настройка брандмауэра Windows для доступа к компоненту Database Engine.
Проверка подключения
После того как появилась возможность соединения с использованием TCP на том же компьютере, нужно проверить подключение с клиентского компьютера. Теоретически можно использовать любое клиентское приложение, но чтобы избежать дополнительных сложностей, установите средства управления SQL Server на клиентском компьютере и попытайтесь запустить среду SQL Server Management Studio.
На клиентском компьютере с помощью среды SQL Server Management Studio попробуйте подключиться, используя IP-адрес и номер TCP-порта в формате «IP-адрес, номер порта». Например,
192.168.1.101,1433
. Если этот вариант не работает, вероятно, возникла одна из таких проблем:Если вы можете подключиться с помощью IP-адреса и номера порта, попробуйте подключиться, используя IP-адрес без указания номера порта. Для экземпляра по умолчанию просто используйте IP-адрес. Для именованного экземпляра используйте IP-адрес и имя экземпляра в формате «IP-адрес\имя экземпляра», например
192.168.1.101\<instance name>
. Если этот вариант не работает, вероятно, возникла одна из следующих проблем:- Если вы подключаетесь к экземпляру по умолчанию, возможно, он прослушивает порт, отличный от TCP-порта 1433, а клиент пытается подключиться к неправильному номеру порта.
- Если вы подключаетесь к именованному экземпляру, номер порта не возвращается клиенту.
Обе эти проблемы связаны со службой обозревателя SQL Server, которая предоставляет клиенту номер порта. Далее приводятся возможные решения.
- Запустите службу обозревателя SQL Server. См. инструкции по запуску обозревателя в диспетчере конфигурации SQL Server.
- Служба обозревателя SQL Server блокируется брандмауэром. Откройте UDP-порт 1434 в брандмауэре. Вернитесь к разделу Открытие порта в брандмауэре. Убедитесь, что вы открываете UDP-порт, а не TCP-порт.
- Данные о UDP-порте 1434 блокируются маршрутизатором. Соединения по протоколу UDP не предназначены для передачи через маршрутизаторы. Это исключает попадание трафика с низким приоритетом в сеть. Вы можете настроить в маршрутизаторе пересылку UDP-трафика или же всегда указывать номер порта при подключении.
- Если клиентский компьютер работает под управлением Windows 7 или Windows Server 2008 (или более поздней операционной системы), ОС может отбрасывать UDP-трафик, поскольку ответ с сервера возвращается с IP-адреса, отличного от запрошенного. Это функция безопасности, блокирующая свободное сопоставление источника. Дополнительные сведения см. в разделе Сервер с несколькими IP-адресами статьи электронной документации Устранение неполадок. Время ожидания истекло. Это статья о SQL Server 2008 R2, но ее основные тезисы можно применить также к рассматриваемому вопросу. Вы можете настроить в клиенте использование правильного IP-адреса или же всегда указывать номер порта при подключении.
Если вы можете установить соединение с помощью IP-адреса (или IP-адреса и имени экземпляра именованного экземпляра), попробуйте подключиться с помощью имени компьютера (или имени компьютера и имени экземпляра именованного экземпляра). Чтобы принудительно установить подключение TCP/IP, укажите
tcp:
перед именем компьютера. Например, для экземпляра по умолчанию на компьютере с именемACCNT27
используйтеtcp:ACCNT27
. Для именованного экземпляраPAYROLL
на этом компьютере используйтеtcp:ACCNT27\PAYROLL
. Если можно подключиться с помощью IP-адреса, но не имени компьютера, то существует проблема с разрешением имени. Вернитесь к разделу Тестирование подключения TCP/IP, подраздел 4.Если вы можете подключиться с помощью имени компьютера, активирующего TCP, попробуйте подключиться с использованием имени компьютера, но без принудительной активации TCP. Например, для экземпляра по умолчанию используйте только имя компьютера, например
CCNT27
. Для именованного экземпляра используйте имя компьютера и имя экземпляра, напримерACCNT27\PAYROLL
. Если вы можете установить соединение с активацией TCP, но не можете без активации TCP, возможно, клиент использует другой протокол (например, именованные каналы).- На клиентском компьютере в левой панели диспетчера конфигурации SQL Server разверните узел Конфигурация клиента SQL Native Client версия, а затем выберите Клиентские протоколы.
- Убедитесь, что протокол TCP/IP на правой панели включен. Если протокол TCP/IP не включен, правой кнопкой мыши щелкните TCP/IP и выберите команду Включить.
- Убедитесь в том, что в последовательности протоколов TCP/IP используются значения, меньше чем для протоколов именованных каналов (или протоколов VIA в более старых версиях). Обычно общая память должна быть указана как первый порядок, а TCP/IP — как второй. Общая память используется только в том случае, когда клиент и сервер SQL выполняются на том же компьютере. Все включенные протоколы опрашиваются в указанном порядке до получения успешного результата. Следует отметить, что при установке соединения с другим компьютером общая память пропускается.
Ошибки SQL сервера
Отказ со стороны Microsoft SQL Server в доступе сервера 1С:Предприятия к базе данных от имени пользователя SQL сервера является наиболее частой причиной сообщения об ошибке, возникающего при попытке подсоединения клиентского приложения 1С:Предприятия к клиент-серверной информационной базе. К таким ошибкам относятся:
Microsoft OLE DB Provider for SQL Server: [DBNETLIB][Connection Write (WrapperWrite()).] General network error. Check your network documentation. HRESULT=80004005, SQLSTATE=08S01, native=11
Ошибка может возникнуть в следующих ситуациях:
-
на SQL сервере установлен режим аутентификации «Windows only»;
-
к данным от Microsoft SQL Server 7.0 (MDAC 2.1) применяются клиентские компоненты;
-
на клиентском компьютере используется протокол «Multiprotocol» для доступа к SQL Server.
Чтобы исправить положение, желательно настроить доступ к SQL серверу.
Microsoft OLE DB Provider for SQL Server: Connection failure. HRESULT=80004005, SQLSTATE=08501, native=0
Ошибка могла возникнуть при перезагрузке SQL сервера во время работы сервера 1С:Предприятия. Если данная ошибка появилась, то необходимо перезагрузить также сервер 1С:Предприятия.
Microsoft OLE DB Provider for SQL Server: [DBNMPNTW][ConnectionOpen (CreateFile()).] HRESULT=80004005, SQLSTATE=01000, native=1326
Для начала, обратите внимание на идентификатор библиотеки, который записан в квадратных скобках. Список некоторых возможных значений представлен ниже:
DBNETLIB — библиотека, которая используется на клиенте SQL сервера для доступа к SQL серверу по любому протоколу.
dbnmpntw — протокол Named Pipes для Win32
dbmssocn — протокол Winsock TCP/IP для WIN32
dbmsspxn — протокол SPX/IPX для WIN32
dbmsvinn — протокол Banyan Vines для Win32
dbmsrpcn — протокол Multi-Protocol (Windows RPC) для Win32
dbnmp3 — протокол Named Pipes для Win16
dbmssoc3 — протокол Winsock TCP/IP для Win16
dbmsspx3 — протокол SPX/IPX для Win16
dbmsvin3 — протокол Banyan Vines для Win16
dbmsrpc3 — протокол Multi-Protocol (Windows RPC) для Win16
В данном примере при попытке обращения к серверу 1С:Предприятия по протоколу «Named Pipes» пользователю USER1CV8SERVER (от его имени работает сервер 1С:Предприятия) отказано в доступе системой безопасности того компьютера, на котором установлен SQL сервер. Чтобы исправить ошибку, следует либо использовать другой протокол, либо обеспечить компьютеру с SQL сервером возможность аутентификации пользователя USER1CV8SERVER.
Microsoft OLE DB provider for SQL Server: Cannot open database request in Login «upp». Login fails.
Если у Вас появилось такое сообщение, это говорит о нештатном завершении сервера 1С:Предприятия, когда информационная база находилась в монопольном режиме. В это время база данных SQL сервера остается в однопользовательском режиме, и сервер 1С:Предприятия не может к ней присоединиться. Чтобы исправить данную ошибку, запустите Microsoft SQL Server Enterprise Manager, войдите в свойства базы данных, где располагается информацианная база, и выключите однопользовательский режим.
Microsoft OLE DB provider for SQL Server: The database could not be exclusive locked to perform the operation. HRESULT=80040E14, SQLSTATE=42000, native=5030
Подобная ошибка может возникать, если для выполнения какого-то действия в 1С:Предприятии нужно перевести информационную базу в режим монопольного доступа, а перевод базы данных в однопользовательский режим невозможен из-за того, что к ней, вместе с сервером 1С:Предприятия, подсоединено еще какое-либо приложение. Для выполнения необходимых действий, которые требуют монопольный доступ к информационной базе, необходимо отключиться от соответствующей базы данных всеми другими приложениями. Приложения, которые подсоединены к базе данных, можно найти в Microsoft SQL Server Query Analyzer.
Особенности исполнения запросов SQL сервером
Главная причина возникновения следующих ошибок — особенности исполнения запросов SQL сервером Microsoft SQL Server. Ошибки могут возникать в следующих ситуациях:
-
достижение недокументированных программных ограничений SQL сервера;
-
проявление на конкретном SQL запросе ошибок Microsoft SQL Server.
Эти ошибки встречаются довольно редко, и обычно, чтобы их устранить, просто переписывают запрос по-иному.
Microsoft OLE DB provider for SQL Server: Cannot perform an aggregate function on an expression containing an aggregate or a subquery. HRESULT=80040E14, SQLSTATE=42000, native=130
Данная ошибка означает, что выражение, вложенное в агрегатные функции или использованное в разделе СГРУППИРОВАТЬ ПО, содержит вложенные запросы. Начиная с 1С:Предприятия 8.0.9.32, данную ошибку диагностирует компилятор языка запросов.
Microsoft OLE DB provider for SQL Server: only text pointer are allowed in work tables, never text, text or image column. The query processor produced a query plan that reqied text, ntext or image column in work table. HRESULT=80040E14, SQLSTATE=42000, native=8226
Ошибка может возникнуть при построении планов запросов, которые включают вложенные запросы и операцию объединения таблиц. Чтобы предотвратить данную ошибку, избегайте объединения полей типа Строка ограниченной длины с полями типа Строка неограниченной длины, если при этом они являются результатами вложенных запросов. Начиная с версии 8.0.11.3, платформа 1С:Предприятия не накладывает каких-либо ограничений на пользовательские запросы.
Microsoft OLE DB Provider for SQL Server: SqlDumpExceptionHandler: Process 52 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. HRESULT=80040E14, SQLSTATE=42000, native=0
Ошибка может возникать при исполнении сложных запросов. Если у Вас выскочило сообщение о такой ошибке, попробуйте видоизменить запрос.
Microsoft OLE DB provider for SQL Server: Too many table names in the query. The maximum allowable is 256. HRESULT=80040E14, SQLSTATE=42000, native=106
Microsoft SQL Server 2000 и 2005 позволяют использовать в простом запросе не более 256 таблиц базы данных. Если количество таблиц превышает 256, то выдается сообщение об ошибке. Начиная с версии 8.0.11.3 платформа 1С:Предприятия выдает диагностику без завершения работы клиентского приложения.
Microsoft OLE DB provider for SQL Server: ORDER BY items must appear in the select list if the statement contains a UNION operator. HRESULT=80040E14, SQLSTATE=42000, native=104
Во избежание возникновения данной ошибки не используйте вложенных запросов с разделами «УПОРЯДОЧИТЬ ПО», если исходный запрос содержит операцию «ОБЪЕДИНИТЬ».
Microsoft OLE DB provider for SQL Server: Warning: The query processor could not produce a query plan from the optimizer because the total length of all the columns in the GROUP BY or ODER BY clause exceeds 8000 bytes. Resubmit your query without the ROBUST PLAN hint. HRESULT=80040E14, SQLSTATE=42000, native=8618
Данная ошибка возникает в случае группировки записей и вычисления агрегатных функций, если при этом группировка выполняется над результатом вложенного запроса, и длина записи результата этого запроса превышает 4000 байт. Причиной такой ошибки является неправильное вычисление Microsoft SQL Server 2000 максимальной длины результата операции SUBSTRING над полем неограниченной длины.
Ошибки при выполнении операций над данными
Такие ошибки могут возникать при выполнении запросов сервером в случае, если значениями выражений оказываются данные, которые недопустимы для объявленных типов.
Microsoft OLE DB provider for SQL Server: Adding a value to a ‘datetime’ column caused overflow. HRESULT=80040E07, SQLSTATE=22077, native=517
Данная ошибка возникает при выполнении функций над датами в том случае, когда в качестве результата получается слишком большая или слишком маленькая дата. Минимально допустимой датой является 1 января 1753 года, а максимально допустимой — 31 декабря 9999 года.
Ошибки размещения базы данных
Причинами сообщений об ошибках из этой группы является аварийная ситуация на компьютере, на котором установлени сервер SQL.
Microsoft OLE DB provider for SQL Server: Could not allocate space for object ‘_AccumReg224NG’ in database ‘…’ because the ‘PRIMARY’ filegroup is full. HRESULT=80004500, SQLSTATE=42000, native=1105
Подобное сообщение может возникнуть при загрузке информационной базы или при ее реструктуризации в том случае, если диск с базой данных SQL сервера имеет недостаточно свободного места.
Ошибки исполнения транзакций
Сообщения данного типа могут возникнуть при высокой загрузке сервера 1С:Предприятия из-за возникших конфликтов транзакционных блокировок записей. Если у Вас возникло подобное сообщение, повторите выполнение того же самого интерактивного действия.
Microsoft OLE DB provider for SQL Server: Transaction (Process ID 53) was deadlocked on lock resources with another process and has been chosen as the deadlock vitim. Rerun the transaction. HRESULT=80004005, SQLSTATE=40001, native=1205
Сообщение означает взаимную блокировку транзакций, начатых двумя или большим количеством пользователей. Если такое сообщение появляется часто, это свидетельствует о неудачных решениях, реализованных в конфигурации. Чтобы бороться со взаимной блокировкой, используют ключевое слово «ДЛЯ ИЗМЕНЕНИЯ» в языке запросов.
Статьи на схожую тематику:
Занимательно о сервере,
Самое главное о SQL сервере
Лицензия 1C 8.3 не обнаружена
Одна из частых ошибок 1C 8.3, подобная отсутствию ключа защиты в прежних версиях, — система сообщает «программная лицензия 1C 8.3 не обнаружена». Если учесть, что 1С не сообщает подробности возникновения ошибки, то за данным сообщением могут быть скрыты несколько проблем, связанных с защитой программной части и лицензированием.
Что делать в подобном случае? Если требуется программная лицензия, то следует обратиться в региональный центр лицензирования, получить лицензионный ключ и произвести активацию системы.
Как активировать лицензию 1С:
Пошаговое описание процесса активации лицензионного продукта:
- После запуска системы на экране возникает сообщение об отсутствии лицензионной информации «лицензия 1С 8.3 не обнаружена». Нажимаем кнопку «Да».
- Далее следует выбрать устройство, на котором требуется установить лицензию. Это либо данный компьютер или устройства сервера 1С:.
- На данном этапе выбирается способ получения лицензии — первичный или повторный, а также категория пользователей, имеющих доступ к работе с системой. Оптимальным будет разрешение для любого пользователя. Этот шаг в будущем значительно упростит запуск программного продукта.
- Выбирается способ получения лицензии — «автоматический», «ручной», «с электронного носителя».
- Необходимо заполнить соответствующие данные и пройти регистрацию. Все данные надо сохранить в файл.
После того как лицензия получена, файл с ключом лицензии помещается по адресу:
C:\Users\All Users\1C\1Cv82\conf\2*.lic (рабочим будет и такой вариант C:\Program Files (x86)\1cv82\conf).
Расположение файла может быть и другим. Подробную информацию можно получить в центре поддержки 1С:.
Причины возникновения ошибки активации 1C
При аппаратной лицензии ошибка «не обнаружен ключ лицензии 1с» может произойти в следующих ситуациях:
- Если ключ отсутствует, или произошла попытка применить другой. В случае сетевых ключей ошибка может возникнуть, если на устройстве не произведен запуск Hasp License Manager (менеджер лицензий), либо при установке несетевого ключа или при отсутствии сети.
- Если превышено число пользователей, работающих с данной лицензией. В случае одновременной работы двух Hasp License Manager с идентичными атрибутами, приложение будет использовать первый из найденных, что приводит к превышению максимума соединений.
- В данных ключа нет сведений о лицензии. Ошибка может возникнуть при установке двух одинаковых ключей на одну машину. Менеджер лицензий в ходе первичного поиска также может обнаружить ключ, не содержащий сведений о лицензии.
- Ошибка на уровне терминалов. В сессии нет локального ключа. Эту ситуацию можно обойти, перезапустив сессию и применив ключ «Admin».
Это только некоторые из возможных ошибок с ключом защиты и активацией лицензии программы.
Разновидности ошибок:
- не обнаружено свободной лицензии 1с;
- не обнаружена лицензия на приложение 31
- на сервере 1с предприятия не найдена лицензия
Специалисты сервисного центра, имеющие лицензии для работы с продуктами 1С, помогут точно установить причины ошибок и оперативно устранить их.
Страничные блокировки в MS SQL Server при проведении документа в документе в 1С
Проблема ожидания на блокировках при параллельной работе пользователей в 1С
В процессе эксплуатации высоконагруженных систем можно столкнуться с проблематикой ожидания на блокировках при параллельной работе пользователей. При этом встречаться такие блокировки могут даже в тех случаях, когда есть кажущаяся видимость того, что происходить их не должно. Именно такая ситуация случилась при внедрении на крупном предприятии решения для автоматизации предприятий питания «1С:Общепит. Модуль для 1С:ERP и 1С:КА2».
Стали поступать жалобы о том, что при одновременном проведении двух документов «Выпуск блюд», которые не пересекаются по аналитикам учета, таким как склад, подразделение и номенклатура возникают ожидания на блокировках.
«Выпуск блюд» является центральным документом решения «1С:Общепит. Модуль для 1С:ERP и 1С:КА2» и объединяет в себе большое количество функционала, такого как отражение производства продукции, его дальнейшую реализацию, перемещение и так далее. Сложность разработки на базе 1С:ERP заключается в том, что крайне нежелательно вносить изменения в типовые объекты. Поэтому при разработке было решено сделать «Выпуск блюд» документом-интегратором. Это значит, что сам по себе объект не выполняет движений по типовым регистрам 1С:ERP. Выпуск блюд в момент своего проведения создает ряд типовых документов, которые и производят все движения. Соответственно, блокировка возникла в момент проведения типового документа, который формировался и проводился внутри транзакции проведения документа «Выпуск блюд». На рисунке ниже показан пример дерева типовых документов. Видно, что по одному отраслевому документу «Выпуск блюд» может быть создано несколько типовых документов, например «Производство без заказа».
В рамках данной статьи будет рассмотрено выяснение причин возникновения ожиданий на блокировках для вышеописанного случая, а также возможные способы воздействия.
Расследование
Параметры стенда:
- Копия клиентской базы «1С:Общепит. Модуль для 1С:ERP и 1С:КА2» в клиент-серверном режиме, на которой воспроизводится проблемная ситуация.
- Операционная система: Windows Server 2012 R2.
- База данных: Microsoft SQL Server 2017 64х.
- Платформа 1С: 8.3.15.1656.
- Конфигурация оборудования:
- Процессор: Intel Xeon X5680 12M Cache 3.33, 6 ядер, 2 шт.
- Оперативная память: 192GB/DDR3.
- Дисковый накопитель: Intel SSDSC2BA800G4.
Для начала пробуем воспроизвести ситуацию, на которую поступила жалоба. Выбираем в базе 2 больших документа с различающимися значениями подразделения и склада и выполняем одновременное проведение. Получаем следующую блокировку:
Текст ошибки «Конфликт блокировок при выполнении транзакции: Microsoft SQL Native Client 11.0: Lock request timeout period exceeded» позволяет понять, что произошла ошибка ожидания на блокировках системы управления базами данных (сокр. СУБД) Microsoft SQL Server (сокр. MS SQL). Значит более подробную информацию следует искать при помощи Extended Events в Microsoft SQL Management Studio. События, которые позволят произвести анализ возникающих блокировок:
- bloced_process_report
- lock_deadlock
- lock_timeout_greater_than_0
- locks_lock_waits
- xml_deadlock_report
Внешний вид настройки лога расширенных событий:
Запускаем сессию и смотрим за результатом при помощи команды «Watch Live Data». Воспроизводим ситуацию с блокировкой повторно, после чего в окне лога расширенных событий видим следующую ситуацию:
Зафиксировано событие lock_timeout_grater_than_0. Это событие наступает при ожидании на блокировках и содержит такую полезную информацию, как id ресурса, который вызвал конфликт (поля resourse), тип ресурса (resourse_type) и текст запроса (sql_text).
По типу ресурса PAGE становится понятно, что заблокированы были не записи таблицы, а страница, на которой содержатся записи. Из документации Microsoft можно понять, что в MS SQL Server размер страницы составляет 8 КБ.
Теперь посмотрим на текст запроса (sql_text) и запомним имя таблицы, на которой происходит блокировка:
Определим, что это за объект в терминах 1С. Для этого воспользуемся обработкой «Структура хранения метаданных». Видим, что таблица, из-за которой возникает блокировка это таблица итогов регистра накопления «Товары организации»:
Выдвинем гипотезу, что на заблокированной странице помимо необходимых записей могли также находиться и другие данные, которые никак не соответствуют ключам аналитики документа «Выпуск блюд». То есть, могла произойти избыточная блокировка. Значит следующим шагом будет просмотр содержимого заблокированной страницы. Идентификатор страницы можно увидеть по полям resourse события lock_timeout_grater_than_0:
Чтобы увидеть содержимое ресурса на заблокированной странице включим специальный флаг трассировки командой DBCC TRACEON(3604):
Не забываем после всех манипуляций выключить установленные флаги трассировки при помощи команды DBCC TRACEOFF:
DBCC TRACEOFF ([n — номер флага], [, -1 — глобально])
Непосредственно увидеть содержимое страницы можно при помощи следующей команды:
DBCC PAGE(db_name|db_id, file_id, page_id, print_option) WITH TABLE RESULTS
- где db_name — имя исследуемой базы;
- file_id и page_id — номер файла и страницы в файле, которые получаем из полей resourse;
- а опция WITH TABLERESULTS позволяет вывести содержимое страницы в виде таблицы.
После выполнения команды анализируем результирующую таблицу и обнаруживаем, что во всех записях поле _Period имеет значение 5999-11-01:
Очень похоже на текущие итоги регистра накопления, для того чтобы в этом убедиться сделаем запрос к таблице итогов регистра накопления «Товары организации»:
Делаем вывод, что на заблокированной странице находятся текущие итоги регистра накопления «Товары организации», которые вовсе не обязательно совпадают по аналитикам учета с проводимым документом «Выпуск блюд».
Как средство оперативного воздействия отключаем текущие итоги, и снимаем остроту проблематики. Такое решение позволяет проводить ранее проблемные документы без ошибок.
Как уже говорилось ранее, документ «Выпуск блюд» является документом-интегратором и создает в процессе своего проведения ряд связанных типовых документов. Более тонкое исследование позволяет выяснить, что в процессе повторного проведения «Выпуск блюд» прежде чем обновить данные в связанных документах производит отмену проведения. В этот момент и обновляются текущие итоги, что приводит к блокировке:
Если убрать принудительную отмену проведения, то проблемные документы перепроводятся без ошибок.
Результат
В данной статье были рассмотрены подходы к расследованиям ожиданий на блокировках на примере блокировки, возникающей при одновременном проведении документов с разными аналитиками, которая была обнаружена в процессе внедрения решения «1С:Общепит. Модуль для 1С:ERP и 1С:КА2». Проведение расследования позволило выявить, что непересекающиеся данные были заблокированы на уровне страницы данных и это была таблица итогов регистра накопления.
Оперативное решение предполагало отключение текущих итогов для проблемных регистров. Детальное исследование показало наличие узких мест внутри транзакции проведения проблемного документа. Отказ от принудительной отмены проведения привел к нормализации работы системы, проведение документов по непересекающимся данным перестало быть причиной блокировок.
Однако, данное решение не застрахует от возможных страничных блокировок в будущем. Все потому, что все связанные документы проводятся вместе с документом «Выпуск блюд» в рамках одной и той же транзакции. Блокировки имеют время жизни до окончания транзакции, а значит они накапливаются и укрупняются, MS SQL Server начинает блокировать данные не по диапазону записей, а страницами, что и приводит к замедлению параллельной работы пользователей. Поэтому по результатам расследования можно рекомендовать переработку блока формирования связанных документов таким образом, чтобы раздробить транзакцию проведения на части. Эта оптимизация также была выполнена в обновлении типового отраслевого решения «1С:Общепит. Модуль для 1С:ERP и 1С:КА2», что полностью решило данную ситуацию на проекте.
Авторы статьи
Чесноков Дмитрий
Черанев Андрей
Ошибки обновлятора
Ошибки обновлятора
На этой странице я буду описывать наиболее частые ошибки при использовании моей программы «Обновлятор-1С: групповое (пакетное) обновление всех баз за один раз».
Первый и самый простой вариант
Суть ошибки и инструкция для её исправления указаны прямо в отчёте по операции. Ну, например, мы указали неверные логин и пароль для базы и тогда в отчёте будут такие строки:
Тут всё просто — читаем, переходим по ссылкам, исправляем и пробуем заново.
Второй и самый сложный вариант
Ошибка произошла на стороне 1с и обновлятор нам прямо об этом и говорит вот такой строчкой в отчёте:
В этом случае смотрим отчёт чуть выше и ищем там зелёные строки, начинающиеся с символов [1c].
Эти строки передала обновлятору сама платформа 1с и именно их нужно анализировать.
Ниже я подготовил список наиболее частых ошибок от платформы 1с (те, что зелёным цветом) и способы их устранения:
Какие ещё есть варианты проблем
Ниже я перечислю ответы лишь на самые важные вопросы. Если вашей проблемы здесь нет — воспользуйтесь поиском по сайту (форма ниже) , при этом:
- если речь об ошибке — формулируйте поисковый запрос, включая строку с ошибкой
- в начале поискового запроса добавьте фразу «обновлятор 1с»
- вот пример хорошего запроса «обновлятор 1с ошибка не удалось снять установленную блокировку новых сеансов с базой»
А вот ответы на самые важные вопросы:
Запуск программы:
Подключение к базе:
Архивация:
Обновление:
Разное:
Другие материалы по обновлятору:
Мне ничего не помогло (или проблема в другом) — хочу написать вам письмо
Видимо ваш случай какой-то особенный и я с удовольствием вам помогу, но со своей стороны прошу вас выполнить ряд моих требований:
1. Обязательно прочтите условия оказания технической поддержки: ссылка.
2. В начале письма сразу укажите, что уже читали «Ошибки обновлятора» и это вам не помогло.
3. Приложите к письму полный отчёт по операции из обновлятора (в виде отдельного файла, не нужно вставлять отчёт в текст самого письма). Отчёт можно сохранить в отдельный файл, нажав на нём правой кнопкой мыши и выбрав соответствующий пункт открывшегося контекстного меню.
4. Если есть возможность повторить ошибку, то запустите операцию в режиме отладки. Для этого запустите операцию, удерживая на клавиатуре клавишу «Shift«. В результате у вас получится более детальный отчёт, который также нужно приложить к письму.
5. Приложите к письму снимки экрана настроек обновлятора (всех или тех, что вы считаете важными), а также закладок в «свойствах проблемной базы«. О том как делать снимки рассказано здесь.
6. Если проблема в каком-то конкретном обновлении (например, оно не находится или выдаётся ошибка при его загрузке в базу) — сожмите его в архив и приложите к письму. О том как загрузить большой архив в интернет — рассказано здесь (с пункта 5) на примере базы 1с.
Информации я прошу, конечно, много и для начинающих пользователей собрать и прислать её мне может быть не так легко. Но в этом случае я прошу вас обратиться к более опытным товарищам, чтобы они вам помогли.
С уважением к вам, Владимир Милькин
Устранение неполадок при подключении к ядру СУБД SQL Server — SQL Server
- 14 минут на чтение
В этой статье
Применимо к: SQL Server (все поддерживаемые версии)
В этой статье перечислены методы устранения неполадок, которые следует использовать, когда не удается подключиться к экземпляру ядра СУБД SQL Server на одном сервере.
Примечание
Для других сценариев см .:
Эти шаги не относятся к наиболее вероятным проблемам, которые вы, вероятно, уже пробовали. Эти шаги идут в порядке от самых основных проблем к более сложным. Эти шаги предполагают, что вы подключаетесь к экземпляру SQL Server с другого компьютера, используя протокол TCP / IP, что является наиболее распространенной ситуацией.
Эти инструкции полезны при устранении ошибки « Connect to Server », которая может быть Номер ошибки: 11001 (или 53), уровень серьезности: 20, состояние: 0
.Ниже приведен пример сообщения об ошибке:
Ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений.
(поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) (Microsoft SQL Server, ошибка: 53)
(поставщик: поставщик TCP, ошибка: 0 - такой хост не известен.) (Microsoft SQL Server, ошибка: 11001)
Эта ошибка обычно означает, что клиент не может найти экземпляр SQL Server. Обычно это происходит, когда существует хотя бы одна из следующих проблем:
- Имя компьютера, на котором размещен SQL Server
- Экземпляр не разрешает правильный IP-адрес
- Номер порта TCP указан неправильно
.
Не включено
Получить имя экземпляра из диспетчера конфигураций
На сервере, на котором размещен экземпляр SQL Server, проверьте имя экземпляра.Используйте диспетчер конфигурации SQL Server.
Configuration Manager автоматически устанавливается на компьютер при установке SQL Server. Инструкции по запуску Configuration Manager незначительно различаются в зависимости от версии SQL Server и Windows. Подробные сведения о версии см. В разделе Диспетчер конфигурации SQL Server.)
Войдите на компьютер, на котором размещен экземпляр SQL Server.
Запустите диспетчер конфигурации SQL Server.
На левой панели выберите Службы SQL Server .
На правой панели проверьте имя экземпляра ядра базы данных.
-
SQL SERVER (MSSQLSERVER)
обозначает экземпляр SQL Server по умолчанию. Имя экземпляра по умолчанию —<имя компьютера>
. -
SQL SERVER (<имя экземпляра>)
обозначает именованный экземпляр SQL Server. Имя экземпляра имени:<имя компьютера> \ <имя экземпляра>
-
Проверить — экземпляр работает
Чтобы убедиться, что экземпляр запущен, в Configuration Manager посмотрите на символ у экземпляра SQL Server.
- Зеленая стрелка указывает на то, что экземпляр запущен.
- Красный квадрат указывает, что экземпляр остановлен.
Если экземпляр остановлен, щелкните его правой кнопкой мыши и выберите Запустить . Экземпляр сервера запускается, и индикатор становится зеленой стрелкой.
Проверить — служба обозревателя SQL Server работает
Для подключения к именованному экземпляру должна быть запущена служба обозревателя SQL Server. В Configuration Manager найдите службу обозревателя SQL Server и убедитесь, что она работает.Если не работает, запустите. Служба обозревателя SQL Server не требуется для экземпляров по умолчанию.
Экземпляр SQL Server по умолчанию не требует службы обозревателя SQL Server.
Тестирование локального соединения
Прежде чем устранять неполадки с подключением с другого компьютера, сначала проверьте свою способность подключаться из клиентского приложения, установленного локально на компьютере, на котором выполняется SQL Server. Локальное подключение позволяет избежать проблем с сетями и брандмауэрами.
В этой процедуре используется SQL Server Management Studio.Если у вас не установлена среда Management Studio, см. Раздел Загрузка SQL Server Management Studio (SSMS). Если вы не можете установить Management Studio, вы можете проверить соединение с помощью утилиты sqlcmd.exe
. sqlcmd.exe
устанавливается вместе с компонентом Database Engine. Дополнительные сведения о sqlcmd.exe
см. В служебной программе sqlcmd.)
Войдите на компьютер, на котором установлен SQL Server, используя имя входа, имеющее разрешение на доступ к SQL Server. (Во время установки SQL Server требует, чтобы по крайней мере один логин был указан как администратор SQL Server.Если вы не знаете администратора, см. Подключение к SQL Server, когда системные администраторы заблокированы.)
На начальной странице введите SQL Server Management Studio или в более старых версиях Windows в меню «Пуск» выберите Все программы , укажите Microsoft SQL Server , а затем щелкните SQL Server Management Studio .
В диалоговом окне Connect to Server в поле типа Server выберите Database Engine .В поле Authentication выберите Windows Authentication . В поле Имя сервера введите один из следующих типов подключения:
Подключение к Тип Пример Экземпляр по умолчанию <имя компьютера>
ACCNT27
Именованный экземпляр <имя компьютера \ имя экземпляра>
ACCNT27 \ PAYROLL
Примечание
При подключении к SQL Server из клиентского приложения на том же компьютере используется протокол общей памяти.Общая память — это тип локального именованного канала, поэтому иногда возникают ошибки, касающиеся каналов.
Если вы получили сообщение об ошибке на этом этапе, вам необходимо устранить ее, прежде чем продолжить. Есть много возможных вещей, которые могут стать проблемой. Возможно, ваш логин не авторизован для подключения. Ваша база данных по умолчанию может отсутствовать.
Примечание
Некоторые сообщения об ошибках, переданные клиенту намеренно, не содержат достаточно информации для устранения проблемы. Это функция безопасности, позволяющая избежать предоставления злоумышленнику информации о SQL Server.Чтобы просмотреть полную информацию об ошибке, просмотрите журнал ошибок SQL Server. Подробности указаны там.
Если вы получаете сообщение об ошибке
18456 Ошибка входа для пользователя
, раздел электронной документации MSSQLSERVER_18456 содержит дополнительную информацию о кодах ошибок. А в блоге Аарона Бертрана есть обширный список кодов ошибок в разделе Устранение неполадок при ошибке 18456. Вы можете просмотреть журнал ошибок с помощью SSMS (если вы можете подключиться) в разделе «Управление» обозревателя объектов.В противном случае вы можете просмотреть журнал ошибок с помощью программы Windows Notepad. Местоположение по умолчанию зависит от вашей версии и может быть изменено во время установки. Расположение по умолчанию для SQL Server 2019 (15.x) —C: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLSERVER \ MSSQL \ Log \ ERRORLOG
.Если вы можете подключиться с использованием общей памяти, протестируйте подключение с помощью TCP. Вы можете принудительно установить TCP-соединение, указав перед именем
tcp:
. Например:Подключение к: Тип: Пример: Экземпляр по умолчанию tcp: <имя компьютера>
tcp: ACCNT27
Именованный экземпляр tcp: <имя компьютера / имя экземпляра>
tcp: ACCNT27 \ PAYROLL
Если вы можете подключиться к общей памяти, но не к TCP, то вы должны исправить проблему TCP.Скорее всего, проблема в том, что TCP не включен. Чтобы включить TCP, см. Действия по включению протоколов выше.
Если ваша цель — подключиться с учетной записью, отличной от учетной записи администратора, как только вы сможете подключиться как администратор, попробуйте подключение еще раз, используя имя входа для проверки подлинности Windows или имя входа для проверки подлинности SQL Server, которое использует клиентское приложение.
Получить IP-адрес сервера
Получите IP-адрес компьютера, на котором размещен экземпляр SQL Server.
- В меню «Пуск» выберите Выполнить . В окне Выполнить введите cmd , а затем нажмите ОК .
- В окне командной строки введите
ipconfig
и нажмите клавишу ВВОД. Запишите адрес IPv4 и адрес IPv6 .
SQL Server может подключаться по протоколу IP версии 4 или IP версии 6. Ваша сеть может разрешить одно или то и другое. Большинство людей начинают с поиска неисправностей в адресе IPv4 .Это короче и легче набирать.
Получить TCP-порт экземпляра SQL Server
В большинстве случаев вы подключаетесь к компоненту Database Engine с другого компьютера по протоколу TCP.
- Используя SQL Server Management Studio на компьютере, на котором запущен SQL Server, подключитесь к экземпляру SQL Server. В обозревателе объектов разверните Management , разверните Журналы SQL Server , а затем дважды щелкните текущий журнал.
- В средстве просмотра журнала нажмите кнопку Фильтр на панели инструментов.В поле Сообщение содержит текст введите
сервер прослушивает
, щелкните Применить фильтр , а затем щелкните ОК . - Должно быть указано сообщение, подобное
Сервер прослушивает ['any'
.1433]
Это сообщение указывает на то, что данный экземпляр SQL Server прослушивает все IP-адреса на этом компьютере (для IP версии 4) и прослушивает TCP-порт 1433. (TCP-порт 1433 обычно является портом, используемым компонентом Database Engine или экземпляр SQL Server по умолчанию.Только один экземпляр SQL Server может использовать порт, поэтому, если установлено несколько экземпляров SQL Server, некоторые экземпляры должны использовать другие номера портов.) Запишите номер порта, используемый экземпляром SQL Server, который вы пытаетесь чтобы подключиться к.
Примечание
IP-адрес 127.0.0.1
, вероятно, указан. Он называется адресом адаптера обратной связи. Только процессы на одном компьютере могут использовать его для подключения. Это может быть полезно для устранения неполадок, но вы не можете использовать его для подключения с другого компьютера.
Включить протоколы
В некоторых установках SQL Server подключение к ядру СУБД с другого компьютера невозможно, если администратор не использует Configuration Manager для его включения. Чтобы разрешить соединения с другого компьютера:
- Откройте диспетчер конфигурации SQL Server, как описано ранее.
- С помощью Configuration Manager на левой панели разверните Сетевая конфигурация SQL Server , а затем выберите экземпляр SQL Server, к которому вы хотите подключиться.На правой панели перечислены доступные протоколы подключения. Общая память обычно включена. Его можно использовать только с одного компьютера, поэтому в большинстве установок общая память остается включенной. Для подключения к SQL Server с другого компьютера обычно используется TCP / IP. Если TCP / IP не включен, щелкните правой кнопкой мыши TCP / IP , а затем щелкните Включить .
- Если вы изменили включенный параметр для любого протокола, перезапустите компонент Database Engine. На левой панели выберите Службы SQL Server .На правой панели щелкните правой кнопкой мыши экземпляр компонента Database Engine и выберите Перезапустить .
Тестирование подключения TCP / IP
Для подключения к SQL Server с помощью TCP / IP требуется, чтобы Windows могла установить соединение. Используйте инструмент ping
для проверки TCP.
В меню «Пуск» выберите Выполнить . В окне Выполнить введите cmd , а затем нажмите ОК .
В окне командной строки введите
ping
, а затем IP-адрес компьютера, на котором работает SQL Server.Например:- IPv4:
пинг 192.168.1.101
- IPv6:
эхо-запрос fe80 :: d51d: 5ab5: 6f09: 8f48% 11
- IPv4:
Если ваша сеть настроена правильно,
ping
возвращаетReply from
, за которым следует некоторая дополнительная информация. Еслиping
возвращаетЦелевой хост недоступен
илиИстекло время ожидания запроса
, то TCP / IP настроен неправильно. Ошибки на этом этапе могут указывать на проблему с клиентским компьютером, серверным компьютером или что-то в сети, например маршрутизатор.Чтобы устранить неполадки в сети, см. Расширенное устранение неполадок TCP / IP.Затем, если проверка связи с использованием IP-адреса прошла успешно, проверьте, можно ли разрешить имя компьютера в адрес TCP / IP. На клиентском компьютере в окне командной строки введите
ping
, а затем имя компьютера, на котором работает SQL Server. Например,ping newofficepc
.Если
ping
на IP-адрес завершается успешно, ноping
на компьютер возвращаетDestination host unreachable
orRequest timed out
, возможно, на клиентском компьютере кэширована старая (устаревшая) информация о разрешении имен.Введитеipconfig / flushdns
, чтобы очистить кеш DNS (динамическое разрешение имен). Затем снова пропингуйте компьютер по имени. При пустом кэше DNS клиентский компьютер проверяет наличие самой последней информации об IP-адресе серверного компьютера.Если ваша сеть настроена правильно,
ping
возвращаетReply from
, за которым следует некоторая дополнительная информация. Если вы можете успешно проверить связь с серверным компьютером по IP-адресу, но получите сообщение об ошибке, например,Целевой хост недоступен.
илиИстекло время ожидания запроса.
при проверке связи по имени компьютера, разрешение имен настроено неправильно. (Дополнительные сведения см. В упомянутой ранее статье 2006 г. Как устранить основные проблемы TCP / IP.) Успешное разрешение имени не требуется для подключения к SQL Server, но если имя компьютера не может быть преобразовано в IP-адрес, тогда соединения должны быть выполнены с указанием IP-адреса. Разрешение имени может быть исправлено позже.
Открыть порт в брандмауэре
По умолчанию брандмауэр Windows включен и блокирует соединения с другим компьютером.Чтобы подключиться с помощью TCP / IP с другого компьютера, на компьютере с SQL Server необходимо настроить брандмауэр, чтобы разрешить подключения к порту TCP, используемому компонентом Database Engine. Экземпляр по умолчанию по умолчанию прослушивает TCP-порт 1433. Если вы присвоили экземплярам имена или изменили порт экземпляра по умолчанию, TCP-порт SQL Server может прослушивать другой порт. См. Раздел Получение TCP-порта экземпляра SQL Server.
Если вы подключаетесь к именованному экземпляру или к порту, отличному от TCP-порта 1433, необходимо также открыть UDP-порт 1434 для службы браузера SQL Server.Пошаговые инструкции по открытию порта в брандмауэре Windows см. В разделе Настройка брандмауэра Windows для доступа к ядру СУБД.
Проверить соединение
Как только вы сможете подключиться с помощью TCP на том же компьютере, самое время попробовать подключиться с клиентского компьютера. Теоретически вы можете использовать любое клиентское приложение, но, чтобы избежать дополнительных сложностей, установите на клиенте инструменты управления SQL Server и попробуйте использовать SQL Server Management Studio.
На клиентском компьютере с помощью SQL Server Management Studio попытайтесь подключиться, используя IP-адрес и номер порта TCP в формате IP-адрес номер порта запятой.Например,
192.168.1.101,1433
. Если это соединение не удается, возможно, у вас одна из следующих проблем:После того, как вы сможете подключиться, используя IP-адрес и номер порта, попытайтесь подключиться, используя IP-адрес без номера порта. Для экземпляра по умолчанию просто используйте IP-адрес. Для именованного экземпляра используйте IP-адрес и имя экземпляра в формате IP-адрес обратная косая черта имя экземпляра, например
192.168.1.101 \ <имя экземпляра>
Если это не сработает, возможно, у вас есть одна из следующих проблем :- Если вы подключаетесь к экземпляру по умолчанию, возможно, он прослушивает порт, отличный от TCP-порта 1433, и клиент не пытается подключиться к правильному номеру порта.
- Если вы подключаетесь к именованному экземпляру, номер порта не возвращается клиенту.
Обе эти проблемы связаны со службой обозревателя SQL Server, которая предоставляет номер порта клиенту. Решения:
- Запустите службу обозревателя SQL Server. См. Инструкции по запуску браузера в диспетчере конфигурации SQL Server.
- Служба обозревателя SQL Server блокируется брандмауэром. Откройте UDP-порт 1434 в брандмауэре.Вернитесь в раздел Открыть порт в брандмауэре. Убедитесь, что вы открываете порт UDP, а не порт TCP.
- Информация о UDP-порте 1434 заблокирована маршрутизатором. Связь UDP (протокол пользовательских дейтаграмм) не предназначена для прохождения через маршрутизаторы. Это предохраняет сеть от заполнения низкоприоритетным трафиком. Вы можете настроить маршрутизатор для пересылки UDP-трафика или всегда указывать номер порта при подключении.
- Если на клиентском компьютере используется Windows 7 или Windows Server 2008 (или более поздняя операционная система), трафик UDP может быть сброшен клиентской операционной системой, поскольку ответ от сервера возвращается с IP-адреса, отличного от запрошенного. .Это функция безопасности, блокирующая «неплотное сопоставление источников». Для получения дополнительной информации см. Раздел Несколько IP-адресов серверов раздела Электронной документации Устранение неполадок: Истекло время ожидания. Это статья из SQL Server 2008 R2, но принципы все еще применяются. Вы можете настроить клиент для использования правильного IP-адреса или всегда указывать номер порта при подключении.
После того, как вы сможете подключиться, используя IP-адрес (или IP-адрес и имя экземпляра для именованного экземпляра), попытайтесь подключиться, используя имя компьютера (или имя компьютера и имя экземпляра для именованного экземпляра).Поместите
tcp:
перед именем компьютера, чтобы установить TCP / IP-соединение. Например, для экземпляра по умолчанию на компьютере с именемACCNT27
используйтеtcp: ACCNT27
Для именованного экземпляра с именемPAYROLL
на этом компьютере используйтеtcp: ACCNT27 \ PAYROLL
Если вы можете подключиться, используя IP-адрес, но Если вы не используете имя компьютера, то у вас проблема с разрешением имени. Вернитесь к разделу Тестирование соединения TCP / IP , раздел 4.После того, как вы сможете подключиться с использованием имени компьютера с принудительной установкой TCP, попробуйте подключиться с использованием имени компьютера, но не с принудительной установкой TCP.Например, для экземпляра по умолчанию используйте только имя компьютера, такое как
CCNT27
Для именованного экземпляра используйте имя компьютера и имя экземпляра, напримерACCNT27 \ PAYROLL
. Если вы можете подключиться, используя TCP, но не без принудительного TCP, тогда клиент, вероятно, использует другой протокол (например, именованные каналы).- На клиентском компьютере с помощью диспетчера конфигурации SQL Server на левой панели разверните Собственный клиент SQL версия Конфигурация , а затем выберите Клиентские протоколы .
- Убедитесь, что на правой панели включен TCP / IP. Если TCP / IP отключен, щелкните правой кнопкой мыши TCP / IP , а затем щелкните Включить .
- Убедитесь, что порядок протоколов для TCP / IP меньше, чем для именованных каналов (или VIA в более старых версиях). Обычно следует оставлять общую память в порядке 1, а TCP / IP — в порядке 2. Общая память используется только тогда, когда клиент и SQL Server работают на одном компьютере. Все включенные протоколы проверяются по порядку до тех пор, пока один из них не завершится успешно, за исключением того, что общая память пропускается, когда соединение не с одним и тем же компьютером.
1с. Установите образец базы данных
При работе с этим руководством вы будете использовать базу данных AdventureWorks в качестве образца данных.
Примеры данных
Образец базы данных AdventureWorks будет недоступен после установки, если вы используете MS SQL Express. Вам необходимо скачать базу данных отдельно и установить ее.
Чтобы узнать больше о базе данных AdventureWorks, посетите Microsoft TechNet.
Скачать базу данных AdventureWorks
База данных AdventureWorks — это резервная копия базы данных для сервера MS SQL.
Загрузите резервную копию базы данных AdventureWorks2014.bak с GitHub:
https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks
Вы также можете попробовать прямую ссылку для скачивания.
Версия резервной копии базы данных должна совпадать с версией вашей установки Microsoft SQL Server. В этом руководстве используется Microsoft SQL Server 2014 . Если вы используете другую версию, загрузите соответствующую резервную копию базы данных. |
Вам необходимо сохранить файл .bak в папку, доступную пользователю NETWORK_SERVICES. |
Восстановить базу данных из резервной копии
Для установки резервной копии базы данных:
Запустите SQL Server Management Studio .
Появится диалоговое окно « Подключиться к серверу ».
Выберите свой именованный сервер, используйте метод Authentication по вашему выбору и нажмите Connect .
Менеджер подключается к базе данных.
Щелкните изображение, чтобы увеличить его.
Щелкните правой кнопкой мыши Базы данных и выберите Восстановить базу данных .
Щелкните изображение, чтобы увеличить его.
Появится окно Восстановить базу данных .
Выберите Устройство и нажмите Обзор :
Щелкните изображение, чтобы увеличить его.
Появится диалоговое окно Указать резервную копию .Нажмите Добавить .
Щелкните изображение, чтобы увеличить его.
Появится диалоговое окно «Найти файл резервной копии ».
Выберите каталог, в котором вы сохранили файл, выберите файл .bak и нажмите OK .
Щелкните изображение, чтобы увеличить его.
Резервная копия появится в списке. Нажмите ОК .
Щелкните изображение, чтобы увеличить его.
Резервная копия также отображается в диалоговом окне «Восстановление базы данных » в списке «Наборы резервных копий для восстановления ».
Щелкните изображение, чтобы увеличить его.
Обязательно установите флажок Восстановить рядом с резервной копией базы данных и нажмите ОК .
База данных установлена, и появится диалоговое окно подтверждения.
Щелкните изображение, чтобы увеличить его.
Нажмите ОК .
Вы добавили базу данных.
Щелкните изображение, чтобы увеличить его.
Теперь вы можете установить драйвер JDBC.
Назад Вперед
См. Также
Базы данных Microsoft SQL как источники данных
Замечания по установке ODBC для Oracle Instant Client
Замечания по установке ODBC для Oracle Instant Client
Программное обеспечение Oracle Instant Client ODBC — это отдельный пакет, который предлагает полную функциональность драйвера Oracle ODBC (за исключением службы Oracle для Microsoft Transaction Server) с простой установкой.
Драйвер ODBC обеспечивает совместимость стандартной клиент-серверной версии Oracle, см. Support Doc ID 207303.1. Например, Instant Client ODBC 19c может подключаться к Oracle Database 11.2 или новее.
Установка Oracle Instant Client Basic и Basic Lite
Instant Client ODBC требует, чтобы также был установлен пакет Oracle Instant Client Basic или Basic Light (в зависимости от требований вашего региона). Загрузите желаемый пакет из OTN для своей операционной системы и следуйте инструкциям по установке на странице загрузки. Например, распакуйте пакет в C: \ Instantclient_19_3
в Windows, разархивируйте в / opt / oracle / Instantclient_19_3
в Linux или других платформах или используйте yum
для установки пакетов RPM в Linux.
Более подробная информация об Oracle Instant Client находится в Руководстве программиста Oracle Call Interface.
Установка Oracle Instant Client ODBC
В Linux и UNIX
1. Загрузите Установите пакет Instant Client Basic или Basic Light, как описано выше.
2. Загрузите пакет ODBC для мгновенного клиента. Разархивируйте его в тот же каталог, что и ваш пакет Basic или Basic Light. Или, если вы используете пакет RPM в Linux, установите его с yum
.
3. Установите диспетчер драйверов unixODBC, если он еще не доступен. Обратитесь к разделу «Рекомендуемая версия диспетчера драйверов unixODBC» в этом документе для получения дополнительной информации.
4. Запустите odbc_update_ini.sh
из каталога Instant Client.
5. Задайте любые переменные Oracle Globalization, необходимые для вашей локали. Дополнительную информацию см. В Руководстве по поддержке глобализации баз данных Oracle. Например, в Linux вы можете установить export NLS_LANG = JAPANESE_JAPAN.JA16EUC
для работы с символом JA16EUC в японском языке.
Использование: odbc_update_ini.sh
Параметр | Описание |
---|---|
ODBCDM_Home | путь к домашнему каталогу диспетчера драйверов unixODBC |
Install_Location * | Путь к каталогу Oracle Instant Client.Путь по умолчанию — текущий каталог |
Имя_драйвера * | Имя драйвера для идентификации драйвера Oracle ODBC, находящегося в текущем домашнем каталоге Oracle Instant Client. Имя по умолчанию будет иметь вид «Oracle 19c ODBC driver» |
DSN * | Задает имя ODBC DSN. Имя по умолчанию будет «OracleODBC-19c» |
ODBCINI * | Путь к каталогу файла .odbc.ini .Путь по умолчанию — домашний каталог пользователя, например ~ / .odbc.ini |
* — Дополнительные параметры
в Windows
- Установите пакет Instant Client Basic или Basic Light, как описано выше.
- Загрузите пакет ODBC Instant Client. Разархивируйте его в тот же каталог, что и ваш пакет Basic или Basic Light.
- Запустите
odbc_install.exe
из каталога Instant Client.Если Instant Client 11g или ниже, запустите командную строку с правами администратора. Для установки с поддержкой японского языка выполните командуodbc_install.exe JA
.
Настройка среды для приложений ODBC
Приложение ODBC должно загрузить файл общей библиотеки драйвера ODBC для Oracle Instant Client (см. Следующий раздел) для подключения к Oracle Database. В Linux / Unix путь к каталогу разделяемой библиотеки должен быть установлен в переменной среды LD_LIBRARY_PATH или в эквиваленте платформы.Его также можно настроить в /etc/ld.so.conf. В Windows это должно быть установлено в переменной окружения PATH.
См. Разделы «Переменные среды для мгновенного клиента OCI и строки подключения к базе данных» в Руководстве программиста Oracle Call Interface для настройки строки подключения к базе данных и связанных переменных среды, таких как TNS_ADMIN, TWO_TASK, LOCAL и т. Д.
Содержимое пакета ODBC Oracle Instant Client
Описание | Linux и UNIX | Окна |
---|---|---|
Общая библиотека драйвера ODBC для Oracle | libsqora.так.XX.Y. Например libsqora.so.19.1 | sqora32.dll |
Установочный файл | odbc_update_ini.sh | odbc_install.exe, odbc_uninstall.exe |
диалоговое окно конфигурации драйвера ODBC Oracle (GUI) | Не доступен | sqoras32.dll, sqresus.dll, sqresja.dll |
Справочная система | справка / | справка / |
Исправление Oracle Instant Client ODBC
Примечание. Сделайте резервную копию общей библиотеки драйвера ODBC Oracle и других файлов перед их исправлением.
В Linux и UNIX Исправление драйвера ODBC Instant Client в Linux / UNIX может быть выполнено путем создания пакета ODBC Instant Client и пакета Basic или Basic Light в исправленном ORACLE_HOME. Процедура установки исправлений и создания пакетов ODBC для Instant Client, Basic и Basic Light приведена в Руководстве программиста Oracle Call Interface. Затем эти новые пакеты следует разархивировать в каталог Instant Client, который необходимо исправить. Этот метод исправления рекомендуется.
В качестве альтернативы драйвер ODBC Oracle Instant Client можно исправить, скопировав файлы, перечисленные ниже, из исправленного ORACLE_HOME:
- Файл общей библиотеки драйвера ODBC:
Для 19c: libsqora.so.19.1
Для 18c: libsqora.so.18.1
Для 12c: libsqora.so.12.1
Для 11g: libsqora .so.11.1 - Требуются дополнительные файлы при использовании Oracle Instant Client Basic :
Для 19c: libociei.Итак, libclntshcore.so.19.1, libclntsh.so.19.1, libnnz19.so, libons.so
Для 18c: libociei.so, libclntshcore.so.18.1, libclntsh.so.18.1, libnnz18.so, libons.so
Для 12c: libociei.so, libclntshcore.so.12.1, libclntsh.so.12.1, libnnz12.so, libons.so
Для 11g: libclntsh.so.11.1, libociei.so, libnnz11.so - Требуются дополнительные файлы при использовании Oracle Instant Client Basic Light :
Для 19c: libclntsh.so.19.1, libclntshcore.so.19.1, libociicus.so, libnnz19.so, libons.so
Для 18c: libclntsh.so.18.1, libclntshcore.so.18.1, libociicus.so, libnnz18.so, libons.so
Для 12c: libclntsh.so.12.1, libclntshcore.so.12.1, libociicus.so, libnnz12.so, libons.so
Для 11g: libclntsh.so.11.1, libociicus.so, libnnz11.so
В Windows Исправление драйвера ODBC Instant Client в Windows можно выполнить только вручную, скопировав файлы общей библиотеки драйвера ODBC и файлы вспомогательных библиотек из исправленного ORACLE_HOME или из распакованного исправления Oracle Database Bundle.Их следует скопировать в каталог Instant Client. Создание пакета ODBC для мгновенного клиента недоступно в Windows.
Файлы, которые необходимо скопировать в каталог Instant Client:
- Файлы общей библиотеки драйвера ODBC: sqora32.dll, sqoras32.dll, sqresus.dll, sqresja.dll
- Необходимые дополнительные файлы при использовании Oracle Basic Instant Client :
Для 19c: oraociei19.dll, orannzsbb19.dll, oci.dll, oraons.dll, ociw32.dll, oraociei19.sym, orannzsbb19.sym, oci.sym, ociw32.sym
Для 18c: oraociei18.dll, orannzsbb18.dll, oci.dll, oraons.dll, ociw32.dll, oraociei18.sym , orannzsbb18.sym, oci.sym, ociw32.sym
Для 12c: oraociei12.dll, orannzsbb12.dll, oci.dll, oraons.dll, ociw32.dll, oraociei12.sym, orannzsbb12.sym, oci.sym, ociw32.sym
Для 11g: oraociei11.dll, orannzsbb11.dll, oci.dll, ociw32.dll, oraociei11.sym, orannzsbb11.sym, oci.sym, ociw32.sym - Требуются дополнительные файлы при использовании Oracle Basic Light Instant Client :
Для 19c: oraociicus19.dll, orannzsbb19.dll, oci.dll, oraons.dll, ociw32.dll, oraociicus19.sym, orannzsbb19.sym, oci.sym, ociw32.sym
Для 18c: oraociicus18.dll, orannzsbb18.dll, oci.dll , oraons.dll, ociw32.dll, oraociicus18.sym, orannzsbb18.sym, oci.sym, ociw32.sym
Для 12c: oraociicus12.dll, orannzsbb12.dll, oci.dll, oraons.dll, ociw32.dll, oraociicus12.sym, orannzsbb12.sym, oci.sym, ociw32.sym
Для 11g: oraociicus11.dll, orannzsbb11.dll, oci.dll, ociw32.dll, oraociicus11.sym, orannzsbb11.sym, oci.sym, ociw32.sym
Примечание. При копировании из патча Oracle Database Bundle некоторые из вышеперечисленных файлов могут отсутствовать. Это означает, что эти файлы не изменились и не нуждаются в исправлении.
Удаление мгновенного клиента Oracle ODBC
В Linux и UNIX
Процедура удаления Instant Client ODBC в Linux / UNIX:
- Удалите запись драйвера ODBC Oracle из файла
odbcinst.ini
диспетчера драйверов unixODBC. Имя по умолчанию для этой записи похоже на [драйвер ODBC Oracle 19c]. - Удалите запись DSN драйвера ODBC Oracle из
odbc.ini
. Имя по умолчанию для записи DSN похоже на[OracleODBC-19c]
. - Удалите все файлы и каталоги в каталоге ODBC Instant Client.
В Windows
Процедура удаления Instant Client ODBC в Windows:
- Удалите DSN, связанный с драйвером Oracle ODBC в консоли администратора источника данных ODBC (odbcad32).
- Запустите
odbc_uninstall.exe
из каталога ODBC Instant Client. - Удалите все файлы и каталоги в каталоге ODBC Instant Client.
Рекомендуемые версии диспетчера драйверов unixODBC для Linux / UNIX
Для мгновенного клиента 18 и 19:
Платформа | Диспетчер драйверов unixODBC, версия |
---|---|
Linux 32-разрядная, 64-разрядная | 2.3,4 |
Solaris SPARC64 32-разрядная, 64-разрядная | 2.3.4 |
Solaris 32-разрядная, 64-разрядная | 2.3.4 |
AIX 5L 32-разрядная, 64-разрядная | 2.3.4 |
HP IA64 32-разрядная, 64-разрядная | 2.3.4 |
z / Linux 31 бит, 64 бит | 2.3.4 |
Для мгновенного клиента 12.1 и 12,2:
Платформа | Диспетчер драйверов unixODBC, версия |
---|---|
Linux 32-разрядная, 64-разрядная | 2.3.1 |
Solaris SPARC64 32-разрядная, 64-разрядная | 2.3.1 |
Solaris 32-разрядная, 64-разрядная | 2.3.1 |
AIX 5L 32-разрядная, 64-разрядная | 2.3.1 |
HP IA64 32-разрядная, 64-разрядная | 2.3,1 |
z / Linux 31 бит, 64 бит | 2.3.1 |
Для мгновенного клиента 11g:
Платформа | Диспетчер драйверов unixODBC, версия |
---|---|
Linux 32-разрядная, 64-разрядная | 2.2.11, 2.2.14 |
Solaris SPARC64 32-разрядная, 64-разрядная | 2.2.11 |
Solaris 32-разрядная, 64-разрядная | 2.2,11 |
AIX 5L 32-разрядная, 64-разрядная | 2.2.11 |
HP IA64 32-разрядная, 64-разрядная | 2.2.11 |
z / Linux 31 бит, 64 бит | 2.2.11 |
Ресурсы для драйвера ODBC Oracle
Связанные технологии
Устранение ошибок в AWS Glue
Если вы столкнулись с ошибками в AWS Glue, воспользуйтесь следующими решениями, чтобы найти
источник
проблемы и исправить их.
Ошибка: ресурс недоступен
Если AWS Glue возвращает сообщение о недоступности ресурса, вы можете просматривать сообщения об ошибках или
журналы в
помочь вам узнать больше о проблеме. Следующие задачи описывают общие методы
для
поиск проблемы.
Ошибка
: не удалось найти конечную точку S3 или NAT
Шлюз для subnetId в VPC
Проверьте идентификатор подсети и идентификатор VPC в сообщении, чтобы помочь вам диагностировать проблему.
Убедитесь, что у вас настроена конечная точка Amazon S3 VPC, которая требуется для AWS Glue.
В
Кроме того, проверьте свой шлюз NAT, если он входит в вашу конфигурацию.Для большего
Для получения дополнительной информации см. Конечные точки Amazon VPC для Amazon S3.
Ошибка
: правило для входящего трафика в группе безопасности
Обязательный
По крайней мере одна группа безопасности должна открывать все входящие порты.Чтобы ограничить трафик, можно ограничить группу безопасности источника в правиле для входящего трафика.
в ту же группу безопасности.
Ошибка
: правило для исходящего трафика в группе безопасности
Обязательный
По крайней мере одна группа безопасности должна открывать все выходные порты.Чтобы ограничить трафик, группу безопасности источника в исходящем правиле можно ограничить.
в ту же группу безопасности.
Ошибка
: сбой при выполнении задания, поскольку переданная роль должна
Получение разрешений на предполагаемую роль для сервиса AWS Glue
Пользователь, определяющий задание, должен иметь разрешение на iam: PassRole
для AWS Glue.
Ошибка: действие DescribeVpcEndpoints
Несанкционированный. Невозможно проверить идентификатор VPC ID vpc-id
Ошибка
: действие DescribeRouteTables
Несанкционированный.Невозможно проверить идентификатор подсети: идентификатор подсети в идентификаторе VPC: идентификатор-vpc
Ошибка
: не удалось вызвать ec2: DescribeSubnets
Ошибка: не удалось позвонить
ec2: DescribeSecurityGroups
Ошибка
: не удалось найти подсеть для AZ
Ошибка
: исключение выполнения задания при записи в целевой объект JDBC
Когда вы выполняете задание, которое записывает в цель JDBC, задание может столкнуться с ошибками
в
следующие сценарии:
Если ваше задание записывает в таблицу Microsoft SQL Server, и в таблице определены столбцы
как типBoolean
, тогда таблица должна быть предопределена в SQL Server
база данных.Когда вы определяете задание в консоли AWS Glue с помощью целевого объекта SQL Server
с
опция Создавайте таблицы в целевом объекте данных , не сопоставляйте источник
столбцы в целевой столбец с типом данныхBoolean
. Вы можете столкнуться с
ошибка при выполнении задания.Вы можете избежать ошибки, выполнив следующие действия:
Выберите существующую таблицу со столбцом Boolean .
Отредактируйте преобразование
ApplyMapping
и сопоставьте столбец Boolean в
source в число или строку в целевом объекте.Отредактируйте преобразование
ApplyMapping
, чтобы удалить столбец Boolean из
источник.
Если ваша работа записывает в таблицу Oracle, вам может потребоваться отрегулировать длину имен
объектов Oracle.В некоторых версиях Oracle максимальная длина идентификатора ограничена 30 байтами или
128 байт.
Это ограничение влияет на имена таблиц и имена столбцов целевых хранилищ данных Oracle.Вы можете избежать ошибки, выполнив следующие действия:
Назовите целевые таблицы Oracle в пределах, установленных для вашей версии.
Имена столбцов по умолчанию генерируются из имен полей в данных.
Чтобы обработать случай, когда имена столбцов длиннее лимита, используйте
ApplyMapping
илиRenameField
преобразовывает, чтобы изменить имя
столбца должны быть в пределах лимита.
Ошибка: тайм-аут Amazon S3
Если AWS Glue возвращает ошибку тайм-аута подключения, это может быть связано с попыткой
доступ к
Корзина Amazon S3 в другом регионе AWS.
Конечная точка Amazon S3 VPC может направлять трафик только в сегменты в пределах региона AWS.
Если тебе надо
для подключения к сегментам в других регионах возможный обходной путь — использовать шлюз NAT.Для
подробнее см. NAT
Шлюзы.
Ошибка: отказано в доступе к Amazon S3
Если AWS Glue возвращает ошибку отказа в доступе к корзине или объекту Amazon S3, это может
потому что предоставленная роль IAM не имеет политики с разрешением на ваши данные
хранить.
Задание ETL должно иметь доступ к хранилищу данных Amazon S3, используемому в качестве источника или цели.
Сканер должен иметь доступ к хранилищу данных Amazon S3, которое он сканирует.
Дополнительные сведения см. В разделе Шаг 2. Создание роли IAM для AWS Glue.
Ошибка: идентификатор ключа доступа к Amazon S3 не существует
Если AWS Glue возвращает ошибку «ID ключа доступа не существует» при выполнении задания, это может
быть по одной из следующих причин:
Задание ETL использует роль IAM для доступа к хранилищам данных. Убедитесь, что роль IAM для вашего
задание не было удалено до его запуска.Роль IAM содержит разрешения на доступ к вашим хранилищам данных. Убедитесь, что все прикрепленные
Политика Amazon S3, содержащаяs3: ListBucket
, верна.
Ошибка
: сбой выполнения задания при доступе к Amazon S3 с
s3a: //
URI
Если выполнение задания возвращает ошибку, например, Не удалось проанализировать XML-документ с помощью обработчика
class , это может быть из-за неудачной попытки перечислить сотни файлов с помощью
s3a: //
URI.Получите доступ к своему хранилищу данных, используя вместо этого URI s3: //
.
Следующая трассировка исключения выделяет ошибки, которые необходимо искать:
1. com.amazonaws.SdkClientException: не удалось проанализировать XML-документ с помощью класса обработчика com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser $ ListBucketHandler
2. на com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream (XmlResponsesSaxParser.java:161)
3. в com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse (XmlResponsesSaxParser.java:317)
4. на com.amazonaws.services.s3.model.transform.Unmarshallers $ ListObjectsUnmarshaller.unmarshall (Unmarshallers.java:70)
5. на com.amazonaws.services.s3.model.transform.Unmarshallers $ ListObjectsUnmarshaller.unmarshall (Unmarshallers.java:59)
6. в com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle (S3XmlResponseHandler.java: 62)
7. в com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle (S3XmlResponseHandler.java:31)
8. на com.amazonaws.http.response.AwsResponseHandlerAdapter.handle (AwsResponseHandlerAdapter.java:70)
9. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.handleResponse (AmazonHttpClient.java:1554)
10. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeOneRequest (AmazonHttpClient.java:1272)
11. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeHelper (AmazonHttpClient.java: 1056)
12. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.doExecute (AmazonHttpClient.java:743)
13. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeWithTimer (AmazonHttpClient.java:717)
14. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.execute (AmazonHttpClient.java:699)
15. на com.amazonaws.http.AmazonHttpClient $ RequestExecutor.access 500 долларов США (AmazonHttpClient.java:667)
16. на com.amazonaws.http.AmazonHttpClient $ RequestExecutionBuilderImpl.execute (AmazonHttpClient.java:649)
17.на com.amazonaws.http.AmazonHttpClient.execute (AmazonHttpClient.java:513)
18. на com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:4325)
19. на com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:4272)
20. на com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:4266)
21. в com.amazonaws.services.s3.AmazonS3Client.listObjects (AmazonS3Client.java:834)
22. at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus (S3AFileSystem.java:971)
23.в org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnneededFakeDirectories (S3AFileSystem.java:1155)
24. в org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite (S3AFileSystem.java:1144)
25. at org.apache.hadoop.fs.s3a.S3AOutputStream.close (S3AOutputStream.java:142)
26. at org.apache.hadoop.fs.FSDataOutputStream $ PositionCache.close (FSDataOutputStream.java:74)
27. в org.apache.hadoop.fs.FSDataOutputStream.close (FSDataOutputStream.java:108)
28. на org.apache.parquet.hadoop.ParquetFileWriter.конец (ParquetFileWriter.java:467)
29. в org.apache.parquet.hadoop.InternalParquetRecordWriter.close (InternalParquetRecordWriter.java:117)
30. at org.apache.parquet.hadoop.ParquetRecordWriter.close (ParquetRecordWriter.java:112)
31. в org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close (ParquetOutputWriter.scala: 44)
32. в org.apache.spark.sql.execution.datasources.FileFormatWriter $ SingleDirectoryWriteTask.releaseResources (FileFormatWriter.scala: 252)
33. в org.apache.spark.sql.execution.datasources.FileFormatWriter $$ anonfun $ org $ apache $ spark $ sql $ execution $ datasources $ FileFormatWriter $$ executeTask $ 3.apply (FileFormatWriter.scala: 191)
34. at org.apache.spark.sql.execution.datasources.FileFormatWriter $$ anonfun $ org $ apache $ spark $ sql $ execution $ datasources $ FileFormatWriter $$ executeTask $ 3.apply (FileFormatWriter.scala: 188)
35. at org.apache.spark.util.Utils $ .tryWithSafeFinallyAndFailureCallbacks (Utils.scala: 1341)
36. в org.apache.spark.sql.execution.datasources.FileFormatWriter $.org $ apache $ spark $ sql $ execution $ datasources $ FileFormatWriter $$ executeTask (FileFormatWriter.scala: 193)
37. at org.apache.spark.sql.execution.datasources.FileFormatWriter $$ anonfun $ write $ 1 $$ anonfun $ 3.apply (FileFormatWriter.scala: 129)
38. at org.apache.spark.sql.execution.datasources.FileFormatWriter $$ anonfun $ write $ 1 $$ anonfun $ 3.apply (FileFormatWriter.scala: 128)
39. в org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 87)
40. at org.apache.spark.scheduler.Task.run (Task.scala: 99)
41. в орг.apache.spark.executor.Executor $ TaskRunner.run (Executor.scala: 282)
42. в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
43. в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624)
44. в java.lang.Thread.run (Thread.java:748)
Ошибка: срок действия токена службы Amazon S3 истек
При перемещении данных в Amazon Redshift и обратно временные учетные данные Amazon S3, которые
срок годности истекает через 1 час, используются.Если у вас долгая работа, она может потерпеть неудачу.
Для получения информации о том, как настроить ваши длительные задания для перемещения данных в и из
Amazon Redshift, см.
Перенос данных в Amazon Redshift и обратно.
Ошибка
: не обнаружен частный DNS для сетевого интерфейса
Если задание не выполнено или конечная точка разработки не может быть подготовлена, это может быть из-за
а
проблема в настройке сети.
Если вы используете DNS, предоставленный Amazon, значение
enableDnsHostnames
должно
должно быть установлено значение true. Для получения дополнительной информации см. DNS.
Ошибка: подготовка конечной точки разработки
Не смогли
Если AWS Glue не может успешно подготовить конечную точку разработки, это может быть связано с тем, что
из
проблема в настройке сети.
Когда вы определяете конечную точку разработки, VPC, подсеть и группы безопасности
подтверждены, чтобы подтвердить, что они соответствуют определенным требованиям.Если вы предоставили необязательный открытый ключ SSH, убедитесь, что это действительный открытый ключ SSH.
Проверьте в консоли VPC, что ваш VPC использует допустимый набор опций DHCP .Дополнительные сведения см. В разделе «Наборы параметров DHCP».
Если кластер остается в состоянии PROVISIONING, обратитесь в службу поддержки AWS.
Ошибка: сервер ноутбука
CREATE_FAILED
Если AWS Glue не сможет создать сервер ноутбука для конечной точки разработки, он может
быть
из-за одной из следующих проблем:
AWS Glue передает роль IAM в Amazon EC2 при настройке сервера ноутбука.Роль IAM должна иметь доверительные отношения с Amazon EC2.
Роль IAM должна иметь профиль экземпляра с тем же именем.
Когда вы создаете роль для Amazon EC2 с помощью консоли IAM, профиль инстанса
с таким же именем создается автоматически.Проверьте наличие ошибки в журнале относительно недопустимого имени профиля экземпляраiamInstanceProfile.name
.
Для получения дополнительной информации см. Использование профилей экземпляров.Убедитесь, что ваша роль имеет разрешение на доступ к сегментам
aws-glue *
в политике
что вы передаете, чтобы создать сервер записной книжки.
Ошибка: локальный ноутбук не запускается
Если локальный ноутбук не запускается и сообщает об ошибках, каталог или папка
невозможно найти, это может быть
из-за одной из следующих проблем:
Если вы работаете в Microsoft Windows, убедитесь, что
JAVA_HOME
переменная среды указывает на правильный каталог Java.Возможно обновление
Ява
без обновления этой переменной, и если она указывает на папку, которая больше не существует,
Ноутбуки Zeppelin не запускаются.
Ошибка
: ошибки использования ноутбука
При использовании ноутбука Apache Zeppelin вы можете столкнуться с ошибками из-за вашей настройки.
или же
среда.
Вы предоставляете роль IAM с присоединенной политикой при создании сервера записной книжки.
Если политика не включает все необходимые разрешения, вы можете получить сообщение об ошибке
такой
посколькупредположительно-роль /
.Проверьте политику, передаваемую на сервер вашего ноутбука вимя-роли
/ i-0bf0fa9d038087062 не
разрешено выполнятькакие-то действия
AccessDeniedException
консоль IAM.Если ноутбук Zeppelin некорректно отображается в вашем веб-браузере, проверьте
Требования Zeppelin для поддержки браузеров.Например, могут быть определенные версии и настройки, необходимые для Safari.
браузер.
Возможно, вам потребуется обновить ваш браузер или использовать другой браузер.
Ошибка: сбой при запуске поискового робота
Если AWS Glue не может успешно запустить сканер для каталогизации ваших данных, это может быть
из-за
одна из следующих причин.Сначала проверьте, не указана ли ошибка в консоли AWS Glue.
краулеры
список. Проверить, есть ли восклицательный знак
рядом с именем поискового робота и наведите на него курсор, чтобы просмотреть все связанные сообщения.
Ошибка: разделы не обновлялись
Если ваши разделы не были обновлены в каталоге данных при выполнении задания ETL,
эти операторы журнала из класса DataSink
в журналах CloudWatch могут быть полезны:
«
Попытка перемотать вперед обновления каталога - nameSpace:
» — показывает, какую базу данных, таблицу и catalogId пытается изменить этим
работа.Если этого оператора здесь нет, проверьте, установлено ли дляenableUpdateCatalog
значение true и правильно ли передано в качестве параметраgetSink ()
или вadditional_options
.«
Поведение политики изменения схемы:
» — показывает, какое значение схемыupdateBehavior
вы передали.«
Подходит для схем (сравнение схем):
» — будет истинным или ложным.«
Схемы подходят (сравнение без учета регистра):
» — будет истинным или ложным.Если оба значения ложны и для вашего
updateBehavior
не задано значениеUPDATE_IN_DATABASE
, тогда ваша схема DynamicFrame должна быть идентична или содержать подмножество столбцов.
видно в схеме таблицы каталога данных.
Для получения дополнительной информации об обновлении разделов см. Обновление схемы и разделов в каталоге данных.
Ошибка: обновление каталога данных Athena
Если вы столкнулись с ошибками при обновлении каталога данных Athena до данных AWS Glue
Каталог, см.
Руководство пользователя Amazon Athena тема Пошаговое обновление до каталога данных AWS Glue.
Ошибка: задание обрабатывает данные, когда включены закладки задания
Могут быть случаи, когда вы включили закладки заданий AWS Glue, но ваше задание ETL
является
повторная обработка данных, которые уже были обработаны в предыдущем прогоне.Проверьте эти общие
причины
этой ошибки:
Максимальный параллелизм
Убедитесь, что максимальное количество одновременных запусков для задания равно 1. Подробнее
Для получения дополнительной информации см. обсуждение максимального параллелизма в разделе Добавление заданий в AWS Glue.Когда у вас есть несколько одновременных заданий с закладками заданий и
максимальный параллелизм установлен на 1, закладка задания работает некорректно.
Отсутствует объект задания
Убедитесь, что сценарий выполнения задания заканчивается следующей фиксацией:
работа.совершить ()
Когда вы включаете этот объект, AWS Glue записывает временную метку и путь выполнения задания.
Если
при повторном запуске задания с тем же путем AWS Glue обрабатывает только новые файлы. Если
ты не
включить этот объект, и закладки задания включены, задание повторно обрабатывает уже
обработанный
файлы вместе с новыми файлами и создает избыточность в целевом хранилище данных задания.
Отсутствует параметр контекста преобразования
Контекст преобразования — это необязательный параметр в классе GlueContext
,
но закладки вакансий не работают, если вы их не включите. Чтобы устранить эту ошибку, добавьте
параметр контекста преобразования при создании DynamicFrame, как показано ниже:
sample_dynF = create_dynamic_frame_from_catalog (база данных, имя_таблицы, трансформация_ctx = "sample_dynF")
Источник входного сигнала
Если вы используете реляционную базу данных (соединение JDBC) в качестве источника ввода, задание
закладки работают, только если первичные ключи таблицы расположены в последовательном порядке.Закладки вакансий
Работа
для новых строк, но не для обновленных строк. Это потому, что закладки вакансий ищут
начальный
ключи, которые уже существуют. Это не применяется, если ваш источник ввода — Amazon Simple.
Служба хранения
(Amazon S3).
Время последнего изменения
Для источников ввода Amazon S3 закладки заданий проверяют время последнего изменения объектов,
вместо имен файлов, чтобы проверить, какие объекты необходимо повторно обработать.Если твой
Вход
исходные данные были изменены с момента вашего последнего запуска задания, файлы будут повторно обработаны, когда
ты
снова запустить задание.
Скачать платформу 1С: Предприятие 8 (обучающая версия)
Чтобы начать разработку собственного приложения, давайте подготовим компьютер и среду разработки.Вам необходимо скачать и установить бесплатную платформу 1С: Предприятие (обучающая версия). Установив платформу 1С: Предприятие, вы сможете запустить ее локально и приступить к разработке новых приложений или настройке существующих.
Обратите внимание, что приложение «1С: Предприятие» логически разделено на два основных компонента, которые тесно взаимосвязаны: приложение и платформа (1С: Предприятие), на которой выполняется приложение. Платформа 1С: Предприятия — это приложение для Windows или Linux, которое содержит все необходимое для разработки, отладки и запуска любого приложения на базе платформы.
Скачать платформу 1С: Предприятие 8 (обучающая версия) для Windows
Вам не нужно устанавливать СУБД, поскольку обучающая версия включает встроенную собственную базу данных. При этом поддерживаются системы управления базами данных MS SQL, PostgreSQL, IBM DB2 и Oracle.
IDE платформы «1С: Предприятие» носит название «Конструктор». Конструктор — часть платформы 1С: Предприятие, позволяющая разрабатывать приложения. Чтобы создать пустую информационную базу, не требующую СУБД, и начать разработку своего первого приложения, установите платформу 1С: Предприятие (обучающая версия) и выполните следующие действия, чтобы запустить Дизайнер:
- Запустить 1С: Предприятие (двойной щелчок по ярлыку 1С: Предприятие ).
- В диалоговом окне Настройка 1С: Предприятие нажать Добавить .
- В диалоговом окне Добавить информационную базу / группу нажмите Создать информационную базу , а затем нажмите Далее .
- Щелкните самую нижнюю кнопку выбора Создать информационную базу без конфигурации … и затем щелкните Далее .
- Укажите имя вашей информационной базы (любое по вашему выбору) и нажмите Далее .
- Нажимайте Далее , пока не завершите работу мастера.
- Щелкните Designer .
Платформа 1С: Предприятие 8 (обучающая версия) содержит все необходимое для разработки, отладки и запуска любого приложения, созданного на базе 1С: Предприятия.
После того, как вы установили платформу 1С: Предприятие 8 (обучающая версия), вы можете запустить ее локально и разрабатывать новые приложения или настраивать существующие.
Как разработать простое приложение
Ограничения 1С: Предприятие (обучающая версия) по сравнению с коммерческой версией
Платформа 1С: Предприятие 8 (обучающая версия) содержит возможности коммерческой платформы 1С: Предприятия 8 со следующими ограничениями:
- Объем данных ограничен для документов, каталогов, регистров, планов счетов и других таблиц объектов:
- Максимальное количество записей в таблицах счетов — 2000.
- Максимальное количество записей в таблицах основного объекта — 2000.
- Максимальное количество записей в табличных разделах объектов — 1000.
- Максимальное количество записей в наборах записей — 2000.
- Максимальное количество записей из внешних источников данных — 200.
- Режим клиент / сервер не поддерживается.
- Распределенные информационные базы не поддерживаются.
- COM-соединение не поддерживается.
- Невозможно использовать пароли и аутентификацию операционной системы.
- Печать и сохранение электронных таблиц поддерживаются только в режиме дизайнера.
- Производительность ниже по сравнению с коммерческой версией 1С: Предприятие 8.
- В режиме «1С: Предприятие» невозможно скопировать содержимое нескольких ячеек табличного документа.
- Операции с хранилищем конфигурации не поддерживаются.
- Функции доставки конфигурации недоступны.
- Возможен только один одновременный сеанс информационной базы.
Миграция базы данных из не-CDB в PDB
Есть несколько подводных камней, когда вы подключаете не-CDB к среде CDB. Я хотел бы выделить некоторые из них, а также показать вам возможные обходные пути. Это часть серии сообщений в блоге, призванных упростить переход с не-CDB на PDB.
Фото Бретта Джордана на Unsplash
Ловушка для компонентов
Под компонентом мы подразумеваем компонент базы данных, который вы можете найти в DBA_REGISTRY
— или CDB_REGISTRY
.Когда Multitenant стал доступен более 5 лет назад, было принято решение сделать все параметры / компоненты обязательными в базе данных контейнера. Это решение пришлось отменить через некоторое время после того, как Oracle 12.1.0.2 стал доступен по многим причинам. Чтобы создать CDB с меньшим количеством параметров, чем стандарт, вы можете сделать это в Oracle 12c, отредактировав сценарии создания базы данных, а с Oracle 12.2.0.1 вы можете сделать это в DBCA как часть Advance Configuration ==> Custom Database
. Я знаю много клиентов, которые сделали это либо по лицензионным причинам, либо из-за того, что требуются потенциальные исправления безопасности, что более вероятно, когда у вас есть все варианты, или просто потому, что чем меньше у вас вариантов, тем быстрее выполняется обновление.
Теперь, когда вы подключаете не-CDB базу данных, важно, чтобы параметры или компоненты, присутствующие в не-CDB, также существовали в CDB $ ROOT
базы данных принимающего контейнера. Если это не так, вы можете установить плагин. Но вы можете открыть свой PDB только RESTRICTED
, пока не разрешите ситуацию.
Мой пример
Я сравниваю установленные компоненты между моей не-CDB (левая сторона) и моей принимающей CDB (правая сторона):
без CDB | CDB |
выберите COMP_ID из DBA_REGISTRY где STATUS = 'VALID' заказ на 1; COMP_ID -------------- КАТАЛОГ CATJAVA CATPROC JAVAVM OLS ORDIM OWM RAC XDB XML | выберите COMP_ID из CDB_REGISTRY где CON_ID = 1 и STATUS = 'VALID' заказ по 1; COMP_ID ---------------- КАТАЛОГ CATPROC OLS OWM RAC XDB |
В моем примере мой источник, не относящийся к CDB, имеет на компонентов больше, чем на , чем моя будущая CDB.Это проблема, которую мне нужно решить.
Конечно, когда дело обстоит наоборот — не-CDB имеет меньше опций, чем CDB — это вообще не проблема, пока все существующие опции в не-CDB все присутствуют в CDB $ ROOT
.
Когда я запускаю проверку совместимости разъемов, я нахожу эти записи в PDB_PLUG_IN_VIOLATIONS
впоследствии:
CON_ID ИМЯ ТИП СОСТОЯНИЕ СООБЩЕНИЯ ------ -------- --------- --------------------------- ----------------------- --------- 1 DB12... ... 1 DB12 ERROR Параметр базы данных Несоответствие CATJAVA: PDB установлен и находится в ожидании rsion 19.0.0.0.0. CDB установил версию NULL. 1 DB12 ERROR Параметр базы данных Несоответствие JAVAVM: PDB установлен, версия PENDING сион 19.0.0.0.0. CDB установил версию NULL. 1 DB12 ERROR Вариант базы данных Несоответствие ORDIM: PDB установлен или PENDING ион 19.0.0.0.0. CDB установил версию NULL. 1 DB12 ERROR Параметр базы данных Несоответствие XML: PDB установлен, версия PENDING № 19.0.0.0.0. CDB установил версию NULL.
Конечно, я все еще могу подключить свою базу данных, отличную от CDB. И я могу запустить noncdb_to_pdb.sql
без забот. Но что происходит потом?
Новый PDB не будет открываться без ограничений. Это означает, что вам необходимо решить эту проблему, иначе вы не сможете работать с этой PDB.
Возможные решения
Ваши варианты:
- Создайте новую CDB с необходимыми опциями и отключите / подключите now-PDB
- Я бы сделал это в тех случаях, когда вы используете компоненты или когда вы, по крайней мере, не уверены, использует ли их кто-нибудь
- Установить недостающие опции в CDB $ ROOT
- Это решение, которое я рекомендую, когда вам нужно подключить PDB именно к этой CDB.DBCA предлагает вам установить компоненты позже.
Просто проверьте это заранее, чтобы убедиться, что все работает без перебоев в сети. В моем примере я установил
JAVAVM
,XML
,ORDIM
иJAVA
только вCDB $ ROOT
.Из журнала alert.log
я вижу, что
PDB $ SEED
перезапускается по любой причине - но компоненты добавляются вCDB $ ROOT
только по желанию. Вариант, который здесь не предлагает DBCA, - это установить его вCDB $ ROOT
иPDB $ SEED
, но не в какой-либо существующий PDB.Следовательно, если вы добавите его и вPDB $ SEED
, он будет добавлен ко всем существующим PDB, насколько я могу судить.
- Это решение, которое я рекомендую, когда вам нужно подключить PDB именно к этой CDB.DBCA предлагает вам установить компоненты позже.
- Снимите компоненты с PDB
- Это решение, которое я тоже считаю немного проблематичным по тем же причинам, что и решение выше. Вы не найдете много инструкций, кроме тех, что находятся в блоге. Но я не тестировал их на удаление из одной PDB. Если вы все же попытаетесь это сделать, вам придется всегда использовать вызовы catcon.pl, чтобы быть на правой стороне.Никогда не используйте сценарии удаления непосредственно в SQL * Plus. Если вы сделаете это, высока вероятность того, что некоторые вызовы потерпят неудачу.
- Просто из любопытства, вот быстрое упражнение, чтобы проверить, работает ли оно:
-
ORDIM
снятие:$ ORACLE_HOME / perl / bin / perl $ Oh29 / rdbms / admin / catcon.pl -n 1 -c 'DB12' -e -b imremdo_db12 -d $ ORACLE_HOME / ord / im / admin imremdo.sql $ ORACLE_HOME / perl / bin / perl $ Oh29 / rdbms / admin / catcon.pl -n 1 -c 'DB12' -e -b utlrp -d '' '.' '' Utlrp.sql
-
Удаление JAVA
,XML
иJAVAVM
:$ ORACLE_HOME / perl / bin / perl $ ORACLE_HOME / rdbms / admin / catcon.pl -n 1 -c 'DB12' -b catnojav -d /u01/app/oracle/product/12.2.0.1/rdbms/admin catnojav.sql $ ORACLE_HOME / perl / bin / perl $ ORACLE_HOME / rdbms / admin / catcon.pl -n 1 -c 'DB12' -b rmxml -d /u01/app/oracle/product/12.2.0.1/xdk/admin rmxml.sql $ ORACLE_HOME / perl / bin / perl $ ORACLE_HOME / rdbms / admin / catcon.pl -n 1 -c 'DB12' -b rmjvm -d /u01/app/oracle/product/12.2.0.1/javavm/install rmjvm.sql $ ORACLE_HOME / perl / bin / perl $ ORACLE_HOME / rdbms / admin / catcon.pl -n 1 -c 'DB12' -e -b utlrp -d '' '.' '' Utlrp.sql
-
- И да, как только я удалил все несовпадающие компоненты, я смог открыть мою
DB12
PDB безупречно и без ограничений.
- Восстановите не-CDB и удалите компоненты перед плагином
- Это решение, которое я бы порекомендовал, если вы уверены или можете убедиться, что никто не использует эти компоненты. Это самый чистый подход. И не прерывает работу вашей CDB. См. Эту серию сообщений в блоге об удалении компонентов.
Резюме и рекомендация
Будьте осторожны с различными компонентами, когда вы подключаете. Есть очень много ситуаций, когда у вас могут быть базы данных со стандартным набором компонентов. И многие клиенты, которых я знаю, в наши дни тщательно настраивают создание своей базы данных. Следовательно, обратите внимание заранее. Особенно в больших владениях баз данных запустите сценарий и заранее объедините информацию. Добавьте эту информацию в свой план консолидации на случай, если вы планируете объединить PDB в Multitenant.Это не ракетостроение, но может потребоваться дополнительная работа.
Дополнительная информация и ссылки
Типичные проблемы с подключаемым модулем и обходные пути
Похожие сообщения
–Майк
Связанные
Была предпринята попытка подключения с помощью более старой версии клиентского программного обеспечения SQL Server, несовместимой с сервером базы данных SQL Server
.
Сообщение об ошибке
Подключение из ArcGIS Desktop, ArcGIS Pro или другого клиента ArcGIS к многопользовательской базе геоданных, созданной в SQL Server, возвращает одно из следующих сообщений об ошибке:
Ошибка подключения : Была предпринята попытка подключения к более старой версии клиентского программного обеспечения SQL Server, несовместимой с сервером базы данных SQL Server.
Ошибка подключения : Невозможно получить список базы данных. Произошла исключительная ситуация подключения к базе данных. Невозможно подключиться к серверу базы данных для получения списка базы данных; пожалуйста, подтвердите свое имя сервера, имя пользователя и информацию о пароле и попробуйте еще раз. Была предпринята попытка подключения к более старой версии клиентского программного обеспечения SQL Server, которая не поддерживается
Причина
Эти ошибки могут возникать, если драйверы клиента SQL Server не установлены на ПК или версия используемых драйверов не поддерживается версией выпуска SQL Server, к которой подключается пользователь.Драйверы должны быть такими же или новее, чем версия SQL Server. Например, драйвер Microsoft ODBC 17 для SQL Server поддерживается SQL Server 2019 и должен использоваться при подключении к экземпляру SQL Server 2019 из ArcGIS.
Хотя и собственный клиент SQL Server, и драйверы ODBC часто обратно совместимы с более ранними выпусками, они не обязательно совместимы напрямую. Нет гарантии, что старые / неподдерживаемые клиенты могут работать без проблем. При обновлении среды также необходимо обновить драйверы клиента SQL Server.Это необходимо для обеспечения поддержки новых функций, представленных в ArcGIS.
Решение или обходной путь
Убедитесь, что на клиентском ПК установлен драйвер. Если есть, убедитесь, что он подключается к той же или более новой версии, что и выпуск SQL Server.
Драйверы Microsoft ODBC для SQL Server и собственного клиента SQL Server доступны для загрузки от Microsoft.Копии также можно найти в My Esri. Для скачивания этих копий:
- Войдите в My Esri.
- Перейдите в Мои организации > Загрузки > Продукты .
- Прокрутите до ArcGIS Enterprise и нажмите Просмотреть загрузки .
- Прокрутите до Файлы поддержки базы данных и нажмите Загрузить в соответствующей версии драйвера Microsoft ODBC.
Версия устанавливаемого клиентского файла зависит от выпуска SQL Server.Обратитесь к ArcGIS Desktop: требования к базе данных Microsoft SQL Server для ArcGIS 10.8.x и ArcGIS Pro 2.5 и 2.6 для получения полного текущего списка поддерживаемых версий баз данных, операционных систем и программного обеспечения, необходимых для подключения к SQL Server.
Связанная информация
Последняя публикация: 12.10.2020
Идентификатор статьи: 000010759
Программное обеспечение: ArcGIS GeoAnalytics Server 10.