Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Düzeltme:, Bir hata iletisi, SQL Server 2000 sürücüsü JDBC ve SQL Server 2005 sürücü JDBC için aynı uygulamada yüklemek, bir SQL Server 2005 veritabanına bağlanmaya ve ardından bir sorgu çalıştırmalısınız alabilirsiniz

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:915834
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.
Hata #: 2059 (PSSWebData)
Belirtiler
Şu senaryoyu inceleyin. Bir uygulamada JDBC için SQL Server 2000 sürücüsü yüklenemedi. Sonra aynı uygulama Microsoft SQL Server 2005 JDBC sürücüsü yüklenemedi. SQL Server 2005 JDBC sürücüsü URL'YI kullanarak bir SQL Server 2005 veritabanına bağlanmaya çalıştığınızda bu senaryoda, JDBC için SQL Server 2000 sürücüsü kullanarak bağlantı kurulur. Daha sonra bir sorguyu çalıştırırsanız, aşağıdaki hata iletisini alırsınız:
[Microsoft][JDBC için SQL Server 2000 sürücüsü][SQLServer]Gelen sekmeli veri (TDS) uzaktan yordam çağrısı (RPC) iletişim kuralının akışı yanlış akış. Parametre 1 (""): 0x38 veri türü bilinmiyor.
Bir SQL Server 2000 veritabanına bağlanın, herhangi bir hata iletisi alabilirsiniz ve unnoticed gerçeğini yanlış sürücü kullanılıyor olabilir. JDBC için SQL Server 2000 sürücüsü, Microsoft SQL Server 2005 JDBC sürücüsü uygulamada yüklenmeden önce yüklenir, bu sorunu yaşarsınız.
Neden
Bu sorun SQL Server 2000 JDBC sürücüsü hatalı bir ad çözümlemesi gerçekleşir nedeniyle oluşur. SQL Server 2000 JDBC sürücüsü, SQL Server 2005 JDBC sürücüsünden bağlantı URL'lerinin kabul eder. SQL Server 2005 JDBC sürücüsü bağlantı dizesi URL'leri aşağıdaki dize ile başlatın:
JDBC:SQLServer: / / ConnectionString
JDBC için SQL Server 2000 sürücüsü, yalnızca aşağıdaki dizesiyle başlayan bir bağlantı dizesi URL'ler kabul etmelidir:
JDBC:Microsoft:SQLServer: / / ConnectionString
Ancak, JDBC için SQL Server 2000 sürücüsü de aşağıdaki biçime sahip olan bağlantıları kabul eder:
JDBC:SQLServer: / / ConnectionString
JDBC için SQL Server 2000 sürücüsü, bir SQL Server 2005 veritabanına bağlanmak için tasarlanmamıştır özel durum oluşur.
Çözüm
Desteklenen bir düzeltme Microsoft'tan edinilebilir, ancak yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın. Bu düzeltmeye ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi olarak sonraki SQL Server 2000 sürücüsü için bu düzeltmeyi içeren bir JDBC hizmet paketini beklemeniz önerilir.

Bu sorunu hemen çözmek için, düzeltmeyi edinmek üzere Microsoft Ürün Destek Hizmetleri'ne başvurun. Microsoft Ürün Destek Hizmetleri'nin telefon numaralarının tam listesi ve destek ücretleriyle ilgili bilgi için, aşağıdaki Microsoft Web sitesini ziyaret edin:Not Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözümleyeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

DOSYA BİLGİLERİ

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve saat öğesinde saat dilimi sekmesini kullanın.
Dosya AdıDosya BoyutuTARİHSAAT
Msbase.jar289,71303-Şub-200623: 02
Mssqlserver.jar67,48303-Şub-200623: 02
Msutil.jar56,53703-Şub-200623: 02
Pratik Çözüm
Bu soruna geçici bir çözüm için aşağıdaki adımları izleyin:
  1. JDBC için SQL Server 2000 sürücüyü yüklemek için önce JDBC için SQL Server 2005 sürücü yüklenemedi. Bunu yapmak için <a0></a0>, DriverManager sınıfı gibi aşağıdaki kod örneği. kullanın
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 versionClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 version
  2. SQL Server 2005 sürücüsü JDBC bağlantı URL'SI için bağlantı kurmak için kullanın. Bunu yapmak için <a0></a0>, aşağıdaki kod örneği benzer bir kod kullanın.
    Connection con = DriverManager.getConnection("jdbc:sqlserver://<ServerName>;user=<UserName>;password=<Password>");
Veri kaynakları ile bağlanma ve bağlantıyı bir URL kullanmak hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerini ziyaret edin:
Durum
Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.
Daha fazla bilgi

Sorunu Yeniden Oluşturma Adımları

Derleme ve sonra Çalıştır'ı aşağıdaki Java örnek kodu. alma 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());               }	}	}
Not bu kod örneği kullanmak için aşağıdaki yertutucuları değiştirin:
  • <a1>Replace</a1> <Server> SQL örneğinin adı Server.
  • <a1>Replace</a1> <DatabaseName> veritabanının adı.
  • <a1>Replace</a1> <UserId> kullanıcı KIMLIğINIZI ile
  • <a1>Replace</a1> <PassWd> parolanız ile.
Referanslar
JDBC hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
313100Microsoft JDBC ile başlama
Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft bu ürünlerin performans veya güvenilirliğiyle ilgili hiçbir garanti vermemektedir.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 915834 - Son İnceleme: 07/19/2006 21:11:15 - Düzeltme: 1.0

Microsoft SQL Server 2000 Driver for JDBC

  • kbmt kbhotfixserver kbqfe kbfix KB915834 KbMttr
Geri bildirim