Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Якщо ви запускаєте віддалену збережену процедуру з параметрами виводу на зв'язаному сервері через драйвер ODBC для SQL Server, драйвер ODBC не зможе отримати параметр виводу, і може з'явитися таке повідомлення про помилку:


[Microsoft] [ODBC SQL Server Driver]Порушення атрибута обмеженого типу даних

Спосіб вирішення

Від корпорації Майкрософт доступне підтримуване виправлення. Однак, це виправлення, призначено для виправлення, лише проблема, описана в цій статті. Застосувати це виправлення лише до систем, які відчувають цю проблему. Це виправлення може отримати додаткове тестування. Таким чином, якщо ви не серйозно постраждали від цієї проблеми, радимо дочекатися наступного оновлення програмного забезпечення, яке містить це виправлення.

Якщо виправлення доступне для завантаження, є розділ "Доступне завантаження виправлень" у верхній частині цієї статті бази знань. Якщо цей розділ не відображається, зверніться до служби підтримки клієнтів корпорації Майкрософт, щоб отримати виправлення.

Примітка. Якщо виникають додаткові проблеми або якщо потрібно виправити неполадки, можливо, доведеться створити окремий запит на обслуговування. Звичайні витрати на підтримку буде застосовуватися до додаткових питань і питань підтримки, які не мають права на це конкретне виправлення. Повний список номерів телефонів служби підтримки клієнтів і підтримки корпорації Майкрософт або створення окремого запиту на обслуговування відвідайте веб-сайт корпорації Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримітка Форма "Виправлення, завантаження доступний" відображає мови, для яких доступне виправлення. Якщо ваша мова не відображається, це тому, що виправлення недоступне для цієї мови.

' Англійська версія цього виправлення, має атрибути файлу (або пізнішої версії), перелічені в наведеній нижче таблиці. Дати й час для цих файлів перелічено за всесвітнім координованим часом (UTC). Коли ви переглядаєте відомості про файл, вони перетворюються на місцевий час. Щоб знайти різницю між UTC і місцевим часом, скористайтеся вкладкою Часовий пояс у засобі "Дата й час" у Панель керування.

MDAC 2.7 із пакетом оновлень 1

            
   Date         Time   Version          Size     File name
   ----------------------------------------------------------
   12-Nov-2002  02:42  2000.81.9031.12   24,576  Odbcbcp.dll
   12-Nov-2002  02:41  2000.81.9031.12  385,024  Sqlsrv32.dll

MDAC 2.8

            
   Date         Time   Version         Size     File name
   ---------------------------------------------------------
   15-Jun-2004  00:22  2000.85.1045.0   28,672  Dbnmpntw.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msadds.dll
   15-Jun-2004  00:21  2.80.1045.0     512,000  Msado15.dll
   15-Jun-2004  00:21  2.80.1045.0     163,840  Msadomd.dll
   15-Jun-2004  00:21  2.80.1045.0     184,320  Msadox.dll
   15-Jun-2004  00:21  2.80.1045.0      53,248  Msadrh15.dll
   15-Jun-2004  00:21  2.80.1045.0     225,280  Msdaora.dll
   15-Jun-2004  00:21  2.80.1045.0     147,456  Msdart.dll
   15-Jun-2004  00:21  2.575.1045.0    139,264  Msorcl32.dll
   15-Jun-2004  00:21  3.525.1045.0    221,184  Odbc32.dll
   15-Jun-2004  00:22  2000.85.1045.0   24,576  Odbcbcp.dll
   15-Jun-2004  00:21  2.80.1045.0     442,368  Oledb32.dll
   15-Jun-2004  00:21  2000.85.1045.0  503,808  Sqloledb.dll
   15-Jun-2004  00:21  2000.85.1045.0  401,408  Sqlsrv32.dll
   15-Jun-2004  00:08  2000.85.1045.0  208,896  Sqlxmlx.dll

Примітка. Список усіх виправлень, доступних для MDAC 2.8 клацніть номер статті в базі знань Microsoft Knowledge Base:

ВИПРАВЛЕННЯ 839801: Виправлення доступні для MDAC 2.8
 

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Додаткові відомості

Кроки відтворення поведінки

  1. Щоб створити збережену процедуру SQL Server з параметрами виводу на зв'язаному сервері, скористайтеся наведеним нижче кодом.

        USE pubs
        GO
    
        CREATE PROCEDURE dbo.sample_stored_procedure
            @op varchar(20) output
        AS
        set @op = 'demo string'
        return 0
        GO
    
    

    Примітка. Не з'являється повідомлення про помилку, наведене в розділі "Ознаки", якщо збережена процедура повертає набір результатів.

  2. Наведений нижче зразок коду програми Microsoft Visual Basic дає доступ до віддаленої збереженої процедури на зв'язаному сервері. У наведеному нижче зразку коду srv1 і
    srv2 є два сервери, на яких запущено SQL Server, і ви створюєте srv2 як зв'язаний сервер на srv1.

        Dim cn As new ADODB.Connection
        Dim cmd As new ADODB.Command
        Dim prm As ADODB.Parameter
    
        cn.Open "Driver={SQL Server};Server=srv1;UID=sa;PWD=sa_password;"
    
        cmd.ActiveConnection = cn
    
        cmd.CommandType = adCmdStoredProc
        cmd.CommandText = "srv2.pubs.dbo.sample_stored_procedure"
    
        Set prm = cmd.CreateParameter("op", adVarChar, adParamOutput, 20)
        cmd.Parameters.Append prm
    
        cmd.Execute
        Debug.Print prm.Value
    
        cn.Close
    
        Set cn = Nothing
    

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×