PRB: Klonovaný připojení během v režimu ruční transakce nelze spustit

Překlady článku Překlady článku
ID článku: 313181 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při použití ovladače 2000 Microsoft SQL Server pro JDBC může dojít k následující výjimce:
Java.SQL.SQLException: [Microsoft] [SQLServer 2000 ovladač pro JDBC] nelze spustit Klonovaný připojení v režimu ruční transakce.

Příčina

K této chybě dochází při pokusu spustit více příkazů proti databázi SQL Server s JDBC ovladač v režimu ruční transakce (AutoCommit = false) a při použití přímé (metody SelectMethod = přímé) režimu. Přímý režim je výchozí režim pro ovladač.

Řešení

Při použití režimu ruční transakce musí nastavit vlastnost metody SelectMethod ovladač kurzoru nebo zkontrolujte, zda použít pouze jeden aktivní příkaz u každého připojení jako zadané v části "Další informace" tohoto článku.

Prohlášení

Toto chování je záměrné.

Další informace

Kroky pro reprodukci tohoto chování

Použijte následující kód reprodukovat došlo k chybě:

Poznámka: viz komentáře v kódu informace na změny kódu, které jsou nutné k vyřešení problému.
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();
		}
	}
}
				

Odkazy

Další informace o připojeních kopie naleznete v části vlastnosti řetězce připojení ovladače 2000 Microsoft SQL Server pro JDBC nápovědy HTML nebo online příručce.Další informace o Klonovaný připojení s ovladačem klepněte na článek číslo článku databáze Microsoft Knowledge Base:
313220PRB: Neočekávaná připojení k serveru SQL Server s JDBC

Vlastnosti

ID článku: 313181 - Poslední aktualizace: 30. června 2003 - Revize: 2.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2000 Driver for JDBC
Klíčová slova: 
kbmt kbprb KB313181 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:313181
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com