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

क्यों काफ्का jdbc varchar के बजाय BLOB के रूप में सम्मिलित डेटा कनेक्ट करें

काफ्का की String की तरह दिखता है Oracle के NCLOB . में मैप किया गया है :

<table border="1">
<tr>
<th>Schema Type</th><th>MySQL</th><th>Oracle</th><th>PostgreSQL</th><th>SQLite</th>
</tr>
<tr>
<td>INT8</td><td>TINYINT</td><td>NUMBER(3,0)</td><td>SMALLINT</td><td>NUMERIC</td>
</tr>
<tr>
<td>INT16</td><td>SMALLINT</td><td>NUMBER(5,0)</td><td>SMALLINT</td><td>NUMERIC</td>
</tr>
<tr>
<td>INT32</td><td>INT</td><td>NUMBER(10,0)</td><td>INT</td><td>NUMERIC</td>
</tr>
<tr>
<td>INT64</td><td>BIGINT</td><td>NUMBER(19,0)</td><td>BIGINT</td><td>NUMERIC</td>
</tr>
<tr>
<td>FLOAT32</td><td>FLOAT</td><td>BINARY_FLOAT</td><td>REAL</td><td>REAL</td>
</tr>
<tr>
<td>FLOAT64</td><td>DOUBLE</td><td>BINARY_DOUBLE</td><td>DOUBLE PRECISION</td><td>REAL</td>
</tr>
<tr>
<td>BOOLEAN</td><td>TINYINT</td><td>NUMBER(1,0)</td><td>BOOLEAN</td><td>NUMERIC</td>
</tr>
<tr>
<td>STRING</td><td>VARCHAR(256)</td><td>NCLOB</td><td>TEXT</td><td>TEXT</td>
</tr>
<tr>
<td>BYTES</td><td>VARBINARY(1024)</td><td>BLOB</td><td>BYTEA</td><td>BLOB</td>
</tr>
<tr>
<td>'Decimal'</td><td>DECIMAL(65,s)</td><td>NUMBER(*,s)</td><td>DECIMAL</td><td>NUMERIC</td>
</tr>
<tr>
<td>'Date'</td><td>DATE</td><td>DATE</td><td>DATE</td><td>NUMERIC</td>
</tr>
<tr>
<td>'Time'</td><td>TIME(3)</td><td>DATE</td><td>TIME</td><td>NUMERIC</td>
</tr>
<tr>
<td>'Timestamp'</td><td>TIMESTAMP(3)</td><td>TIMESTAMP</td><td>TIMESTAMP</td><td>NUMERIC</td>
</tr>
</table>

स्रोत:https://www.ibm.com/support/knowledgecenter/en/SSPT3X_4.2.5/com.ibm.swg.im.infosphere.biginsights.admin.doc/doc/admin_kafka_jdbc_sink.html

https://docs.confluence.io/current/connect /connect-jdbc/docs/sink_connector.html

अपडेट करें

OracleDialect वर्ग (https://github.com/confluentinc/kafka-connect-jdbc/blob/master/src/main/java/io/confluence/connect/jdbc/sink/dialect/OracleDialect.java ) ने हार्डकोड किया है CLOB मूल्य और बस इसे अपनी कक्षा के साथ विस्तारित करें और बदलें कि मैपिंग से मदद नहीं मिलेगी क्योंकि बोली के प्रकार को स्थिर विधि में JdbcSinkTask में परिभाषित किया गया है। (https://github.com/confluentinc/kafka-connect-jdbc/blob/master/src/main/java/io/confluence/connect/jdbc/sink/JdbcSinkTask.java )

final DbDialect dbDialect = DbDialect.fromConnectionString(config.connectionUrl);



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

  2. System.Data.OracleClient को Oracle क्लाइंट सॉफ़्टवेयर संस्करण 8.1.7 की आवश्यकता है

  3. मैं SQLcl . का उपयोग करके jdbc के माध्यम से कनेक्ट क्यों नहीं कर सकता?

  4. Oracle एकाधिक क्षेत्रों के साथ दोहरे कार्य से कैसे चयन करता है

  5. Oracle में पैकेज का उपयोग करने के पेशेवरों और विपक्ष