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

PRB: لا يمكن بدء اتصال المستنسخة أثناء العمل في وضع معاملة يدوي

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

313181
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
الأعراض
أثناء استخدام برنامج في Microsoft SQL Server 2000 التشغيل من أجل JDBC, قد تواجه الاستثناء التالي:
java.sql.SQLException: تعذر بدء تشغيل [Microsoft] [SQLServer تشغيل 2000 لـ JDBC] اتصال المستنسخة في وضع معاملة يدوي.
السبب
يحدث هذا الخطأ عند محاولة تنفيذ جمل متعددة من قاعدة بيانات SQL Server مع برنامج تشغيل JDBC في وضع معاملة يدوي (AutoCommit = خطأ) و أثناء استخدام المباشرة (SelectMethod = مباشر) وضع. وضع المباشر هو الوضع الافتراضي لبرنامج التشغيل.
الحل
عند استخدام وضع معاملة يدوي يجب تعيين الخاصية SelectMethod برنامج التشغيل إلى المؤشر أو تأكد من استخدام جملة نشط واحد فقط على كل اتصال كما هو محدد في قسم "مزيد من المعلومات" من هذه المقالة.
تصريح
يعتبر هذا السلوك حسب التصميم.
معلومات أخرى

خطوات إعادة إنشاء في سلوك

استخدام التعليمات البرمجية التالية إلى إعادة إنشاء الخطأ:

ملاحظة: انظر التعليقات في التعليمات البرمجية لمعلومات على التغييرات رمز مطلوبة لحل المشكلة.
import java.sql.*;import java.io.*;public class Repro{	public static void main(String args[])	{		try {			Connection con;			Statement s1 = null;			ResultSet r1 = null;			Statement s2 = null;			ResultSet r2 = null;			Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 			con = DriverManager.getConnection(				"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Direct;User=User;Password=Password");			//fix 1				//"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Cursor;User=User;Password=Password");			con.setAutoCommit(false);						try {				s1 = con.createStatement();				r1 = s1.executeQuery("SELECT * FROM authors");								//fix 2				//r1.close();				//s1.close();				s2 = con.createStatement();				r2 = s2.executeQuery("SELECT * FROM publishers");			}			catch (SQLException ex)			{				System.out.println(ex);							}				}		catch (Exception e)		{			e.printStackTrace();		}	}}				
مراجع
لمزيد من المعلومات حول "اتصالات استنساخ" راجع المقطع "خصائص سلسلة الاتصال" من برنامج Microsoft SQL Server 2000 تشغيل تعليمات HTML JDBC أو "دليل عبر إنترنت".للحصول على معلومات إضافية حول الاتصالات المستنسخة مع برنامج التشغيل انقر فوق رقم المقالة أدناه لعرضها في "قاعدة المعارف لـ Microsoft:
313220PRB: اتصالات غير متوقع من SQL Server مع JDBC
jdbc

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

خصائص

رقم الموضوع: 313181 - آخر مراجعة: 06/30/2003 00:02:13 - المراجعة: 2.0

  • Microsoft SQL Server 2000 Driver for JDBC
  • kbmt kbprb KB313181 KbMtar
تعليقات
rack by $index -->