Как исправить ошибку "[Microsoft] [ODBC SQL Server] [SQL Server] Неверный синтаксис рядом с '�'" в odbc? - PullRequest
3 голосов
/ 25 апреля 2019

Я пытаюсь подключиться к базе данных sql-сервера с помощью php, используя odbc, все работало нормально, а затем я изменил запрос sql и получил эту ошибку:

Предупреждение: odbc_exec (): Ошибка SQL: [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверный синтаксис рядом с '�'. Состояние SQL 37000 в SQLExecDirect в ...

Я попытался вернуться кПервоначальный запрос работал, но я получил ту же ошибку.

Я проверил синтаксис и ничего не смог найти, и оба запроса отлично работают при выполнении в SQL Server Studio Studio.

$dsn2 = "Driver={SQL Server};Server=$servername2;Database=$dbname";

$conn2 = odbc_connect( $dsn2 , $username2 ,  $password2);

$sql = "SELECT top(1) Ticket.RFC_NUMBER AS [T-N° de ticket]
            ,Catalog_.[TITLE_FR] AS [T-CI]
            ,Group_.[GROUP_FR] AS [A-Groupe_Intervenant]

            FROM [EVO_DATA50004].[50004].[SD_REQUEST] as Ticket
            inner join [EVO_DATA50004].[50004].[AM_ACTION] as Action_ WITH (NOLOCK) on Ticket.[REQUEST_ID] = Action_.[REQUEST_ID]
            inner join [EVO_DATA50004].[50004].[SD_CATALOG] as Catalog_ WITH (NOLOCK) on   Ticket.[SD_CATALOG_ID] = Catalog_.[SD_CATALOG_ID]
            inner join [EVO_DATA50004].[50004].[AM_GROUP] as Group_ WITH (NOLOCK) on Action_.[GROUP_ID] = Group_.group_ID
            left outer join [EVO_DATA50004].[50004].AM_EMPLOYEE AS Employee_ WITH (NOLOCK) ON Action_.DONE_BY_ID = Employee_.EMPLOYEE_ID 

            WHERE  Ticket.RFC_NUMBER like 'I%'
            AND    Action_.END_DATE_UT is null
            AND    Action_.STATUS_ID_ON_CREATE is not null
            AND    Action_.STATUS_ID_ON_CREATE in('12')
            And    Employee_.[LAST_NAME] is null
            AND    Action_.[group_id] in(42)";

$result = odbc_exec($conn2 , $sql);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...