Συμπτώματα
Εάν εκτελείτε μια απομακρυσμένη αποθηκευμένη διαδικασία με παραμέτρους εξόδου σε ένα συνδεδεμένο διακομιστή μέσω ενός προγράμματος οδήγησης ODBC για SQL Server, το πρόγραμμα οδήγησης ODBC δεν μπορεί να ανακτήσει την παράμετρο εξόδου και ενδέχεται να λάβετε το ακόλουθο μήνυμα σφάλματος:
[Microsoft] [Πρόγραμμα οδήγησης SQL Server ODBC]Παραβίαση χαρακτηριστικού περιορισμένου τύπου δεδομένων
Επίλυση
Μια υποστηριζόμενη άμεση επιδιόρθωση είναι διαθέσιμη από τη Microsoft. Ωστόσο, αυτή η άμεση επιδιόρθωση προορίζεται να διορθώσει μόνο το πρόβλημα που περιγράφεται σε αυτό το άρθρο. Εφαρμόστε αυτήν την άμεση επιδιόρθωση μόνο σε συστήματα που αντιμετωπίζουν αυτό το συγκεκριμένο πρόβλημα. Αυτή η άμεση επιδιόρθωση ενδέχεται να λάβει πρόσθετες δοκιμές. Επομένως, εάν δεν επηρεάζεστε σοβαρά από αυτό το πρόβλημα, συνιστάται να περιμένετε για την επόμενη ενημέρωση λογισμικού που περιέχει αυτήν την άμεση επιδιόρθωση.
Εάν η άμεση επιδιόρθωση είναι διαθέσιμη για λήψη, υπάρχει η ενότητα "Υπάρχει διαθέσιμη λήψη άμεσων επιδιορθώσεων" στο επάνω μέρος αυτού του άρθρου της Γνωσιακής βάσης. Εάν αυτή η ενότητα δεν εμφανίζεται, επικοινωνήστε με την Εξυπηρέτηση πελατών και την υποστήριξη της Microsoft για να λάβετε την άμεση επιδιόρθωση.
Σημείωση Εάν προκύψουν πρόσθετα προβλήματα ή εάν απαιτείται κάποια αντιμετώπιση προβλημάτων, ίσως χρειαστεί να δημιουργήσετε ένα ξεχωριστό αίτημα εξυπηρέτησης. Το συνηθισμένο κόστος υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις και ζητήματα υποστήριξης που δεν πληρούν τις προϋποθέσεις για τη συγκεκριμένη άμεση επιδιόρθωση. Για μια πλήρη λίστα των αριθμών τηλεφώνου εξυπηρέτησης πελατών και υποστήριξης της Microsoft ή για να δημιουργήσετε ένα ξεχωριστό αίτημα εξυπηρέτησης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
http://support.microsoft.com/contactus/?ws=supportΣημείωση Η φόρμα "Άμεση λήψη διαθέσιμη" εμφανίζει τις γλώσσες για τις οποίες είναι διαθέσιμη η άμεση επιδιόρθωση. Εάν δεν βλέπετε τη γλώσσα σας, αυτό συμβαίνει επειδή μια άμεση επιδιόρθωση δεν είναι διαθέσιμη για τη συγκεκριμένη γλώσσα.
' Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερη έκδοση) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για αυτά τα αρχεία παρατίθενται σε συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, αυτές μετατρέπονται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ UTC και τοπικής ώρας, χρησιμοποιήστε την καρτέλα Ζώνη ώρας στο εργαλείο Ημερομηνία και ώρα στο Πίνακας Ελέγχου.
MDAC 2.7 Service Pack 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:
839801 ΔΙΟΡΘΩΣΗ: Οι άμεσες επιδιορθώσεις είναι διαθέσιμες για το MDAC 2.8
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στα προϊόντα της Microsoft που αναφέρονται στην ενότητα "Ισχύει για".
Περισσότερες πληροφορίες
Βήματα για την αναπαραγωγή της συμπεριφοράς
-
Χρησιμοποιήστε τον ακόλουθο κώδικα για να δημιουργήσετε μια SQL Server αποθηκευμένη διαδικασία με παραμέτρους εξόδου σε έναν συνδεδεμένο διακομιστή:
USE pubs GO CREATE PROCEDURE dbo.sample_stored_procedure @op varchar(20) output AS set @op = 'demo string' return 0 GO
Σημείωση Δεν λαμβάνετε το μήνυμα σφάλματος που παρατίθεται στην ενότητα "Συμπτώματα", εάν η αποθηκευμένη διαδικασία επιστρέφει ένα σύνολο αποτελεσμάτων.
-
Το παρακάτω δείγμα κώδικα της εφαρμογής 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