Menerobos kumpulan koneksi JNDI (konfigurasi kumpulan koneksi melalui antarmuka manajemen di bawah Tomcat5.5)
Penulis:Eve Cole
Waktu Pembaruan:2009-07-03 16:56:20
Memutuskan kumpulan koneksi JNDI - -
Setelah beberapa hari bekerja keras, saya akhirnya dapat terhubung ke kumpulan koneksi. Saya telah merujuk ke banyak postingan para pahlawan terkait hal ini. Sekarang saya akan menuliskan beberapa masalah yang muncul dalam beberapa hari terakhir di sini:
1. Letakkan ketiga driver jdbc (harus) di bawah Tomcat_homecommon, yang dapat diunduh dari situs web Microsoft. Nama pengguna default dari SQLSERVER2k yang diinstal adalah sa, dan kata sandinya kosong, tetapi tidak masalah jika kata sandinya kosong. Artinya tidak ada kata sandi, jadi Anda harus menentukan nama pengguna dan kata sandi di URL Anda. Yang terbaik adalah mengatur ulang kata sandi. Jika ada kesalahan yang tidak dapat dikutip, biasanya karena jalurnya tidak ditulis dengan benar jalur Tomcat adalah Tomcat_homewebapps, tetapi gunakan 5.5 .x, cukup ikuti metode di bawah ini. Tidak perlu mengkonfigurasi jalur, dan tidak perlu mengkonfigurasi referensi di youwebappWEB-INFweb.xml file Konfigurasi server.xml versi Tomcat5.5.x berbeda dengan konfigurasi Tomcat5.0, berikut adalah tiga metode konfigurasi di Tomcat5.5.x. Jika konfigurasi salah, javax.naming.NameNotFoundException: Nama tidak terikat dalam metode Kesalahan Konteks ini 1. Kumpulan koneksi database global
1. Konfigurasikan kumpulan koneksi melalui antarmuka manajemen, atau langsung tambahkan ke GlobalNamingResources di Tomcatconfserver.xml
<Nama sumber daya = "jdbc/mydb" type = "javax.sql.DataSource" kata sandi = "mypwd" driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle = "2" maxWait = "5000" validationQuery = "pilih 1" nama pengguna="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
2. Tambahkan yang berikut ini ke Konteks TomcatwebappsmyappMETA-INFcontext.xml:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
Itu saja.
Metode 2. Kumpulan koneksi database global
1. Sama seperti di atas
2. Tambahkan yang berikut ini ke Konteks Tomcatconfcontext.xml:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
Metode 3: Kumpulan koneksi database lokal hanya perlu ditambahkan ke Konteks TomcatwebappsmyappsMETA-INFcontext.xml:
<Nama sumber daya = "jdbc/mydb" type = "javax.sql.DataSource" kata sandi = "mypwd" driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle = "2" maxWait = "5000" validationQuery = "pilih 1" nama pengguna="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
Deskripsi parameter:
driveClassName: Nama lengkap kelas driver JDBC;
maxActive: Jumlah maksimum instance yang tersedia yang dapat dialokasikan dari kumpulan koneksi pada saat yang sama;
maxIdle: Jumlah maksimum koneksi yang dapat menganggur di kumpulan koneksi pada saat yang sama;
maxWait: batas waktu maksimum, dalam milidetik;
kata sandi: kata sandi pengguna;
url: koneksi URL ke JDBC;
pengguna: nama pengguna;
validationQuery: digunakan untuk menanyakan koneksi menganggur di kumpulan.
Ketiga metode di atas semuanya tersedia di Tomcat 5.5.4. Selain itu, driver jdbc dari sql server adalah sql server jdbc (sp3) yang diunduh dari situs web Microsoft.
4. Error org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error saat membuat soket.) Ini adalah masalah kecil karena layanan SQLSERVER2K saya telah diubah menjadi manual, jadi Anda harus memulai SQLSERVER2K secara manual setelah setiap startup. Karena dimulai tanpa mengingat, beberapa kesalahan dilaporkan, jadi jika Anda sering menggunakan SQLSERVER2K, sebaiknya jangan mengubahnya ke startup manual.