أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

FIX: قد تظهر رسالة خطأ عند تحميل برنامج تشغيل SQL Server 2000 JDBC و برنامج التشغيل SQL Server 2005 لـ JDBC في تطبيق نفس محاولة الاتصال بقاعدة بيانات SQL Server 2005 ثم قم بتشغيل استعلام

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية915834
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
خطأ #: 2059 (PSSWebData)
الأعراض
اطلع على السيناريو التالي. تحميل برنامج في Microsoft SQL Server 2000 تشغيل لـ JDBC في تطبيق ما. ثم تحميل "برنامج Microsoft SQL Server 2005 JDBC التشغيل" في نفس التطبيق. في هذا السيناريو، عند محاولة الاتصال بقاعدة بيانات SQL Server 2005 باستخدام SQL Server 2005 JDBC برنامج تشغيل محدد, يتم تأسيس الاتصال باستخدام برنامج في Microsoft SQL Server 2000 تشغيل JDBC. إذا قمت فيما بعد بتشغيل استعلام تتلقى رسالة الخطأ التالية:
[Microsoft][SQLServer تشغيل 2000 لـ JDBC][SQLServer]تدفق البيانات جدولي الواردة استدعاء الإجراء البعيد (TDS) دفق البروتوكول (RPC) غير صحيح. المعلمة 1 (""): نوع بيانات 0x38 غير معروف.
إذا لم يمكنك تأسيس اتصال بقاعدة بيانات SQL Server 2000 قد لا تظهر أية رسالة الخطأ وقد الحقيقة يتم استخدام برنامج التشغيل الخاطئ unnoticed. تواجه هذه المشكلة عند تحميل برنامج التشغيل 2000 ملقم SQL JDBC قبل تحميل "برنامج Microsoft SQL Server 2005 JDBC التشغيل" في التطبيق.
السبب
تحدث هذه المشكلة بسبب حدوث تحليل الاسم خلل في برنامج تشغيل SQL Server 2000 JDBC. برنامج تشغيل SQL Server 2000 JDBC يقبل URLs اتصال من تشغيل JDBC الخاص بـ SQL Server 2005. برنامج SQL Server 2005 JDBC التشغيل URLs سلسلة اتصال تبدأ السلسلة التالية:
jdbc:sqlserver: / / ConnectionString
يجب تشغيل 2000 خادم SQL لـ JDBC قبول اتصال سلسلة URLs التي تبدأ بالسلسلة التالية فقط:
jdbc:microsoft:sqlserver: / / ConnectionString
ومع ذلك، أيضاً تشغيل 2000 خادم SQL لـ JDBC يقبل الاتصالات التي لها التنسيق التالي:
jdbc:sqlserver: / / ConnectionString
يحدث الاستثناء لأنه لم يتم تصميم تشغيل 2000 خادم SQL لـ JDBC الاتصال بقاعدة بيانات SQL Server 2005.
الحل
يتوفر الآن إصلاح جديد معتمد من Microsoft ولكن الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. فقط تطبيقه على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير هذه المشكلة كبيرًا، نوصي بالانتظار حتى الإصدار برنامج التالي SQL Server 2000 التشغيل لحزمة الخدمة JDBC الذي يحتوي على هذا الإصلاح العاجل.

لحل هذه المشكلة فورًا، اتصل بخدمات دعم المنتجات في Microsoft "للحصول على الإصلاح العاجل. للحصول على قائمة كاملة بأرقام الهاتف الخاصة بخدمات دعم منتج Microsoft وعلى معلومات حول تكاليف الدعم، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة في بعض الحالات، قد يتم إلغاء المصروفات التي تُحتسب عادةً على مكالمات الدعم إذا قرر إخصائي الدعم لدى Microsoft أن تحديثًا معينًا سوف يعمل على حل المشكلة. سيتم تطبيق تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشكلات التي لا يعمل على حلها هذا التحديث.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل سمات الملف (أو أحدث منها) المسردة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات في "حسب التوقيت العالمي" (UTC). عندما تقوم بعرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي (UTC) والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
اسم الملفحجم الملفتاريخالوقت
Msbase.jar289,713٠٣ فبراير ٢٠٠٦23: 02
Mssqlserver.jar67,483٠٣ فبراير ٢٠٠٦23: 02
Msutil.jar56,537٠٣ فبراير ٢٠٠٦23: 02
الحل البديل
كمحاولة للتغلب على هذه المشكلة اتبع الخطوات التالية:
  1. تحميل برنامج تشغيل SQL Server 2005 JDBC قبل تحميل برنامج تشغيل SQL Server 2000 JDBC. للقيام بذلك، استخدم فئة DriverManager كما في التالية التعليمات البرمجية المثال.
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 versionClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version
  2. استخدام "برنامج SQL Server 2005 تشغيل" لأحد لـ URL اتصال JDBC تأسيس اتصال. للقيام بذلك، استخدم رمز يشبه المثال التعليمات البرمجية التالية. خداع
    Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");
للحصول على مزيد من المعلومات حول كيفية الاتصال مع مصادر البيانات وكيفية استخدام محدد موقع معلومات اتصال بزيارة مواقع شبكة مطوري Microsoft (MSDN) التالي على الويب:
تصريح
أقرت Microsoft أن هذا خطأ في منتجات Microsoft المسردة في قسم "تنطبق على".
معلومات أخرى

خطوات إعادة إنشاء المشكلة

ترجمة ومن ثم تشغيل Java التالي التعليمات البرمجية "نموذج". java.sql.* الاستيراد
import java.sql.*;public class TestDriver {  public static void main(String[] args) throws Exception       	{       	Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");       	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");	Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<Server>;DatabaseName=<DatabaseName>", "<UserId>","<Passwd>");	DatabaseMetaData dbmd = conn.getMetaData();	System.out.println("Driver = " + dbmd.getDriverName() + "_" + dbmd.getDriverVersion());	conn = DriverManager.getConnection("jdbc:sqlserver://<Server>;DatabaseName=<DatabaseName>", "<UserId>","<Passwd>");	dbmd = conn.getMetaData();	System.out.println("Driver = " + dbmd.getDriverName() + "_" + dbmd.getDriverVersion());	displayVersions(conn);	}	public static void displayVersions(Connection conn)       	{               Statement s3 = null;               ResultSet rr = null;               try               {                       s3 = conn.createStatement();                       System.out.println("\nStart trying to retreive data\n");                       rr = s3.executeQuery("select @@version");                       boolean OK = rr.next();                       if (OK)                               System.out.println("The current version of Microsoft SQL Server is: " + rr.getString(1));                       else                               System.out.println("result set NO ROWS!");               }               catch (Exception ex)               {                       System.out.println("Caught error in displayAnyData:\n\t" + ex.getMessage());               }               try               {                       if (rr != null) rr.close();                       if (s3 != null) s3.close();                       System.out.println("End trying to retreive data\n");               }               catch (Exception ee)               {                       System.out.println("Error closing rr or s3 in displayData: " + ee.getMessage());               }	}	}
ملاحظة لاستخدام هذه العينة رمز استبدال العناصر النائبة التالية:
  • استبدال <Server> مع اسم مثيل SQL Server.
  • استبدال <DatabaseName> مع اسم قاعدة البيانات.
  • استبدال <UserId> بالمعرف المستخدم
  • استبدال <PassWd> مع كلمة المرور الخاصة بك.
مراجع
لمزيد من المعلومات حول JDBC انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft:
313100كيفية الشروع في العمل مع Microsoft JDBC
منتجات الجهات الأخرى المذكورة في هذه المقالة تكون تابعة لشركات مستقلة عن Microsoft. لا تقدم Microsoft أي ضمان ، ضمنيًا أو صريحًا، بخصوص أداء أو ثبات النظام "من هذه المنتجات.

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 915834 - آخر مراجعة: 07/19/2006 21:11:15 - المراجعة: 1.0

Microsoft SQL Server 2000 Driver for JDBC

  • kbmt kbhotfixserver kbqfe kbfix KB915834 KbMtar
تعليقات