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

चींटी के साथ JDBC कॉपी

PgJDBC COPY का समर्थन नहीं करता सीधे, लेकिन यह CopyManager . के माध्यम से करता है एपीआई आप PGConnection . से प्राप्त कर सकते हैं java.sql.Connection का इंटरफ़ेस पीजीजेडीबीसी द्वारा लौटाया गया।

दुर्भाग्य से, आप उस साधारण SQL फ़ाइल से उपयोग नहीं कर सकते जहाँ आप COPY mix मिलाते हैं अन्य आदेशों के साथ संचालन।

व्यक्तिगत रूप से, मैं psql . को खोलूंगा चलाने के लिए .sql चींटी का उपयोग करने वाली फ़ाइलें <exec> काम। इस तरह आप COPY . शामिल कर सकते हैं आपकी SQL फ़ाइलों में डेटा इन-लाइन।

यह अच्छा होगा कि PgJDBC को COPY को संभालने के लिए सक्षम किया जाए , लेकिन यह आसान नहीं है। यह प्रभावी रूप से PostgreSQL में एक अलग प्रोटोकॉल मोड है, और इसके लिए सामान्य JDBC इंटरफेस का उपयोग करने के लिए तैयार बयानों, निष्पादित, आदि के साथ उपयोग करने का कोई मतलब नहीं है। हम एक execSQLScript प्रदान कर सकते हैं कस्टम PGconnection . पर लेकिन इससे आपको ज्यादा मदद नहीं मिलेगी क्योंकि चींटी की <sql> . जैसी चीजें कार्य इसका उपयोग नहीं करेगा। आपको एक कस्टम कार्य लिखना होगा।

इसके बजाय, PgJDBC को ग्राहकों से काफी झूठ बोलना होगा - जब यह COPY . दर्ज किया गया था एक COPY . के बाद मोड आदेश, इसे जेडीबीसी स्पेक को अनदेखा करना होगा और जेडीबीसी कथन निष्पादन के जवाब में वास्तव में ऐसा नहीं करना चाहिए था। इससे सभी प्रकार की चीजों के टूटने की संभावना होगी।

तो - अभी के लिए, अब तक का सबसे आसान विकल्प केवल psql . को निष्पादित करना है आप जो चाहते हैं उसे करने का आदेश दें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में एसिंक्रोनस से सिंक्रोनस प्रतिकृति में कनवर्ट करना

  2. PostgreSQL में रेल टाइमज़ोन नामों को कैसे मैप करें?

  3. कंपाउंड या एसक्यूएल क्वेरी (क्वेरी # 1 के साथ) और (क्वेरी # 2) COUNT () के साथ

  4. सरणी तत्वों के क्रम के साथ सरणी प्रकार के साथ PostgreSQL जॉइन, कैसे कार्यान्वित करें?

  5. JDBC का उपयोग करके कस्टम प्रकार की सरणी के साथ पोस्टग्रेज करने के लिए CSV कॉपी