Сегодня я столкнулся с проблемой совместимости, когда клиент обновил Windows XP до Windows 7.
(код 12-летней давности) вызывает хранимую процедуру на сервере SQL с именем
ai_nextid
, за исключением того, что когда он вызывает хранимую процедуру, он использует имя:
ai_nextid;1
Да, с "; 1
"прилагается. Судя по всему, драйвер SQL Server в Windows 95, Windows 2000, Windows XP и, возможно, Windows Vista подходит с этим , особенно с добавленным суффиксом. Но драйвер ODBC для SQL Server в Windows 7 отличается и вызывает ошибку:
Общая ошибка SQL.
[Microsoft] [Драйвер ODBC SQL] [SQL Server] Не удалось найти хранимую процедуру 'ai_nextid; 1'.
[Microsoft] [Драйвер ODBC SQL] [SQL Server] Переменная индикатора требуется, но не указана ».
С собственной ошибкой 2812 .
Это вызывает 4 вопроса:
; 1
в конец имени хранимой процедуры? (что он выполняет) Последние два вопроса, вероятно, будут быть таким же, поскольку, если бы они это задокументировали, они бы это оправдали.