سيستغرق كل مشروع بعض الوقت للعمل على قاعدة البيانات، وكان من السهل التعامل معه في الماضي لأنه كان يعتمد على TOMCAT5.0، سواء كان مزودًا بـ ORCALE SQLSERVER2000 أو MYSQL، لقد اعتدت عليه لفترة طويلة. لكنني لم أتوقع أبدًا استخدام TOMCAT5 مرة أخرى. 5 وللقيام بذلك، اعتدت على استخدام TOMCAT5.5 فقط في طريقة التكوين proxool.xml، لكنني كنت أؤمن دائمًا أنه يمكن استخدام TOMCAT5.5 في جميع الطرق. لأن التكوين هو مجرد وسيلة.
لقد عملت عليها طوال اليوم بالأمس، وأبلغت أخيرًا عن خطأ مثل لا يمكن إنشاء برنامج تشغيل JDBC من الفئة '' لعنوان URL للاتصال 'null' عند استخدام قاعدة البيانات، وأعتقد أنه يجب أن يكون هو نفسه كما كان من قبل، ولكن يجب أن يكون هناك خطأ في ملف التكوين في مكان ما، ولكن بعد التحقق لفترة طويلة، لم تكن هناك حتى كلمة مكتوبة، لقد قمت بالتحقق عبر الإنترنت عن طريق الخطأ، وتبين أن العديد من الإخوة واجهوا نفس المشكلة التي حاولت اتباعها وفقًا لطريقة الكتابة الخاصة بالأخوة ولكن فشل أثناء فترة TOMCAT5.0، قمنا بتكوينه بهذه الطريقة في XXX.XML في مسار قاعدة بيانات TOMCAT_HOMEconfCatalinalocalhost
<?xml version='1.0' encoding='utf-8'?>
<Context docBase = "D:EclipseworkspaceBKGMS" المسار = "/BKGMS" reloadable = "true" WorkDir = "D:EclipseworkspaceBKGMSworkorgApachejsp">
<Resource auth="Container" name="RedstoneSql" type="javax.sql.DataSource"/>
<ResourceParams name = "أفضل">
<المعلمة>
<الاسم>المصنع</الاسم>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</المعلمة>
<المعلمة>
<الاسم>عنوان URL</الاسم>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=bkgms</value>
</المعلمة>
<المعلمة>
<الاسم>كلمة المرور</الاسم>
<القيمة>سا</القيمة>
</المعلمة>
<المعلمة>
<name>maxWait</name>
<القيمة>10000</القيمة>
</المعلمة>
<المعلمة>
<الاسم>ماكس أكتيف</الاسم>
<القيمة>100</القيمة>
</المعلمة>
<المعلمة>
<الاسم>اسم فئة السائق</الاسم>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</المعلمة>
<المعلمة>
<الاسم>اسم المستخدم</الاسم>
<القيمة>سا</القيمة>
</المعلمة>
<المعلمة>
<name>maxIdle</name>
<القيمة>30</القيمة>
</المعلمة>
</ResourceParams>
</السياق>
وفقًا لطريقة الكتابة الخاصة بالأخ، أضف <ResourceLink global="better" name="better" type="javax.sql" قبل <Resource auth="Container" name="better" type="javax.sql.DataSource"/ > .DataSource"/> يمكن القيام به، ولكن بعد إعادة تشغيل TOMCAT، يُبلغ عن "تعذر الحصول على اتصال: لا يوجد برنامج تشغيل مناسب"
اللعنة، أعتقد أن هذا لا يعمل، دعونا نتحقق مرة أخرى. لقد قال معظم الإخوة أن تكوينات TOMCAT5.5 وTOMCAT5.0 مختلفة منذ Tomcat5.5، وكان عنصر <Resoucepram> في عنصر <context> تم إلغاؤه، وتظهر جميع عناصر المعلمة الأصلية كسمات للمورد.
بدلاً من ذلك، ينبغي كتابته بهذه الطريقة، مع إضافة <ResourceLink> بالمناسبة.
<?xml version='1.0' encoding='utf-8'?>
<Context docBase = "D:EclipseworkspaceBKGMS" المسار = "/BKGMS" reloadable = "true" WorkDir = "D:EclipseworkspaceBKGMSworkorgApachejsp">
<Resource auth = "حاوية" اسم = "أفضل" نوع = "javax.sql.DataSource" maxWait = "10000" maxIdle = "30" maxActive = "100" اسم المستخدم = "sa" كلمة المرور = "sa" driverClassName = "com .microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=bkgms"/>
<ResourceLink global="better" name="better" type="javax.sql.DataSource"/>
</السياق>
اشرح: 1.path هو إدخال عنوان URL الذي يحدد الوصول إلى تطبيق الويب؛
2.docBase يحدد مسار ملف تطبيق الويب، والذي يمكن أن يكون مسارًا مطلقًا أو مسارًا نسبيًا بالنسبة إلى سمة appBase للمضيف
3. اكتب
4.maxActive هو الحد الأقصى لعدد اتصالات قاعدة البيانات النشطة في DBCP.0 يعني غير محدود
5.maxIdle هو الحد الأقصى لعدد اتصالات قاعدة البيانات الخاملة في DBCP.6.maxWait
هو الحد الأقصى لقاعدة البيانات الاتصال خاملاً (بالملي ثانية) هو 0، مما يعني الانتظار إلى أجل غير مسمى
7. اسم المستخدم هو اسم تسجيل الدخول إلى قاعدة البيانات
8. كلمة المرور هي كلمة مرور تسجيل الدخول إلى قاعدة البيانات
9.
driverClassName هو برنامج تشغيل jdbc لقاعدة البيانات فقط
تم تحديد عنوان URL للاتصال بقاعدة البيانات، testDBCP هو اسم قاعدة البيانات الخاصة بي.
التقرير "غير قادر على الحصول على اتصال: لا يوجد برنامج تشغيل مناسب"
هو بدء تشغيل Tomcat من Eclipse. وقد وجد أنه لا يمكن العثور على org.apache.commons.dbcp.BasicDataSourceFactory أثناء بدء التشغيل، لذلك Factory = "org.apache.commons.dbcp. تم الإبلاغ عن BasicDataSourceFactory" في عنصر الموارد. "احذف وسيتم حل الخطأ.
بالطبع لا تنس إضافة web.xml
<المرجع-المرجع>
<وصف>اتصال قاعدة البيانات</description>
<res-ref-name>أفضل</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>حاوية</res-auth>
</resource-ref>
ومع ذلك، إذا كنت تستخدم SQLSERVER2000، فيجب عليك أيضًا التأكد من تطبيق تصحيح SP4.