Как исправить ошибку OLE DB в инструментах данных SQL Server - PullRequest
3 голосов
/ 26 мая 2019

Я пытаюсь перенести столбцы из таблиц базы данных в таблицу фактов в хранилище данных.

Я использую следующую команду SQL для извлечения данных

SELECT employée.matricule, accident.[code accident], prestataire.[N°], 
visite.[date visite], accident.[date accident] ,remboursement.[montant rem], visite.[Nbre Jours Acc] 
FROM 
    visite, employée, accident, prestataire, remboursement, bordereaux
WHERE 
    employée.matricule=accident.matricule AND 
    employée.matricule= visite.matricule AND
    prestataire.valeur = bordereaux.prestataire AND
    bordereaux.matricule = employée.matricule AND
    remboursement.[numéro du bulletin] = bodereaux.[numéro du bulletin]

Столбец [numéro du bulletin] существует в таблице "bodereaux" и "remboursement", но я не понимаю, почему я продолжаю получать эту ошибку

Ошибка 2
Ошибка проверки. Задача потока данных Источник OLE DB [48]: код ошибки служб SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80040E14. Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL Server 11.0». Hresult: 0x80040E14 Описание: «Не удалось подготовить оператор (ы)». Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL Server 11.0». Hresult: 0x80040E14 Описание: «Не удалось связать идентификатор из нескольких частей« bodereaux.numéro du bulletin ».». FaitAccident.dtsx 0 0

1 Ответ

1 голос
/ 27 мая 2019

Попробуйте использовать следующий запрос:

SELECT 
    employée.matricule, 
    accident.[code accident], 
    prestataire.[N°], 
    visite.[date visite], 
    accident.[date accident], 
    remboursement.[montant rem], 
    visite.[Nbre Jours Acc] 
FROM 
    visite INNER JOIN employée ON employée.matricule = visite.matricule
           INNER JOIN accident ON employée.matricule = accident.matricule
           INNER JOIN bordereaux ON bordereaux.matricule = employée.matricule
           INNER JOIN remboursement ON remboursement.[numéro du bulletin] = bodereaux.[numéro du bulletin]
           INNER JOIN prestataire ON prestataire.valeur = bordereaux.prestataire
...