Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

नोडज MySQL में कनेक्शन पूल में डेटाबेस स्विच करें

मेरा सुझाव है कि पूलिंग दस्तावेज़ दें पूरी तरह से पढ़ा।

आपने कहा है कि आप conn.changeUser(/*...*/) . का उपयोग कर रहे हैं , लेकिन फिर आपने कहा है कि आप const conn = mysql.createPool(/*...*/); का उपयोग कर रहे हैं उस conn . को प्रारंभ करने के लिए लगातार। इसका मतलब है conn एक पूल है , कनेक्शन नहीं; इसमें कोई आश्चर्य की बात नहीं है कि इसमें changeUser नहीं है विधि।

यदि आप डेटाबेस बदलना चाहते हैं, तो आपको इसे कनेक्शन पर करना होगा, पूल पर नहीं। शॉर्टहैंड का उपयोग करने के बजाय pool.query फ़ॉर्म, आप pool.getConnection do करेंगे /conn.changeUser /conn.query /conn.release . सबसे पहले, अपने वेरिएबल को कॉल करें pool , नहीं conn :

const pool = mysql.createPool({

तब

pool.getConnection(function(err, conn) {
    if (err) {
        // handle/report error
        return;
    }
    conn.changeUser({
        database: req.session.dbname
    }, function (err) {
        if (err) {
            // handle/report error
            return;
        }
        // Use the updated connection here, eventually
        // release it:
        conn.release();
    });
});

उसने कहा , अगर यह मैं होता, तो मैं एक सामान्य पूल के बजाय प्रति डेटाबेस एक कनेक्शन पूल रखने में अधिक सहज होता, जहाँ आप डेटाबेस बदलते हैं। यह मेरी ओर से शुद्ध व्यामोह हो सकता है, लेकिन मैं यही करूँगा। लेकिन अगर आप अलग पूल का उपयोग नहीं करते हैं, तो मेरा सुझाव है कि हमेशा changeUser . करें तो आप सुनिश्चित हैं कि आप किस डेटाबेस का उपयोग कर रहे हैं, या पूरी तरह से का परीक्षण करें यह देखने के लिए कि mysql . क्या है मॉड्यूल इसे संभालने के लिए करता है (और मॉड्यूल के हर डॉट रिलीज पर उस परीक्षण को दोहराएं, जब तक कि अनुरक्षक व्यवहार को दस्तावेज न करे)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक कॉलम नंबर का उपयोग करके MySQL में किसी टेबल से कॉलम को कैसे ड्रॉप करें

  2. MySQL में मान को NULL पर सेट करें

  3. MySQL ऑल्टर टेबल कॉलम

  4. उपयोगकर्ता इनपुट पर निर्भर लंबी क्वेरी के लिए मैं PHP में MySQL त्रुटि कैसे प्रदर्शित करूं?

  5. MySQL में प्रत्येक समूह के उच्चतम n मान ढूँढना