คำถามติดแท็ก jdbc

JDBC (การเชื่อมต่อ Java DataBase) เป็น API ฐานซึ่งเปิดใช้งานการโต้ตอบกับเซิร์ฟเวอร์ฐานข้อมูล SQL โดยดำเนินการคำสั่ง SQL โดยใช้ภาษาการเขียนโปรแกรม Java


12
วิธีรับ ID แทรกใน JDBC
ฉันต้องการINSERTบันทึกในฐานข้อมูล (ซึ่งเป็น Microsoft SQL Server ในกรณีของฉัน) โดยใช้ JDBC ใน Java ในเวลาเดียวกันฉันต้องการได้รับรหัสการแทรก ฉันจะบรรลุสิ่งนี้ได้อย่างไรโดยใช้ JDBC API
385 java  sql  jdbc  insert-id 

30
ไดร์เวอร์ MySQL JDBC 5.1.33 - ปัญหาโซนเวลา
พื้นหลังบางส่วน: ฉันมี Java 1.6 webapp ทำงานบน Tomcat 7 ฐานข้อมูลคือ MySQL 5.5 ก่อนหน้านี้ฉันใช้ไดรเวอร์ Mysql JDBC 5.1.23 เพื่อเชื่อมต่อกับฐานข้อมูล ทุกอย่างทำงานได้ ฉันเพิ่งอัพเกรดเป็นไดรเวอร์ Mysql JDBC 5.1.33 หลังการอัพเกรด Tomcat จะโยนข้อผิดพลาดนี้เมื่อเริ่มต้นแอพ WARNING: Unexpected exception resolving reference java.sql.SQLException: The server timezone value 'UTC' is unrecognized or represents more than one timezone. You must configure either the server or …
360 java  mysql  tomcat  jdbc  timezone 

30
เตรียมสถานะในทางเลือกข้อ?
วิธีแก้ไขปัญหาที่ดีที่สุดสำหรับการใช้ส่วนINคำสั่งSQL กับอินสแตนซ์java.sql.PreparedStatementซึ่งไม่ได้รับการสนับสนุนสำหรับค่าหลายค่าเนื่องจากปัญหาด้านความปลอดภัยในการโจมตี SQL injection: ?ตัวยึดตำแหน่งหนึ่งแทนค่าหนึ่งค่าแทนที่จะเป็นรายการค่า พิจารณาคำสั่ง SQL ต่อไปนี้: SELECT my_column FROM my_table where search_column IN (?) การใช้preparedStatement.setString( 1, "'A', 'B', 'C'" );นั้นเป็นความพยายามที่ไม่ทำงานในการแก้ปัญหาของเหตุผล?ในการใช้งานตั้งแต่แรก มีวิธีแก้ไขปัญหาอะไรบ้าง

14
เพื่อป้องกันการรั่วไหลของหน่วยความจำไดร์เวอร์ JDBC ไม่ได้ถูกบังคับให้ลงทะเบียน
ฉันได้รับข้อความนี้เมื่อฉันเรียกใช้เว็บแอปพลิเคชันของฉัน มันทำงานได้ดี แต่ฉันได้รับข้อความนี้ระหว่างปิดเครื่อง SEVERE: เว็บแอปพลิเคชันลงทะเบียนไดรเวอร์ JBDC [oracle.jdbc.driver.OracleDriver] แต่ไม่สามารถยกเลิกการลงทะเบียนเมื่อเว็บแอปพลิเคชันหยุดทำงาน เพื่อป้องกันการรั่วไหลของหน่วยความจำไดร์เวอร์ JDBC ไม่ได้ถูกบังคับให้ลงทะเบียน ความช่วยเหลือใด ๆ ชื่นชม
325 java  tomcat  jdbc 

14
เชื่อมต่อ Java กับฐานข้อมูล MySQL
คุณเชื่อมต่อกับฐานข้อมูล MySQL ใน Java ได้อย่างไร เมื่อฉันลองฉันได้ java.sql.SQLException: No suitable driver found for jdbc:mysql://database/table at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) หรือ java.lang.ClassNotFoundException: com.mysql.jdbc.Driver หรือ java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
322 java  mysql  jdbc 

16
ตัวเลือกการรวมการเชื่อมต่อกับ JDBC: DBCP กับ C3P0
ไลบรารีการเชื่อมต่อพูลที่ดีที่สุดสำหรับ Java / JDBC คืออะไร ฉันกำลังพิจารณาผู้สมัครหลัก 2 คน (ฟรี / โอเพ่นซอร์ส): Apache DBCP - http://commons.apache.org/dbcp/ C3P0 - http://sourceforge.net/projects/c3p0 ฉันได้อ่านเกี่ยวกับพวกเขามากมายในบล็อกและฟอรัมอื่น ๆ แต่ไม่สามารถตัดสินใจได้ มีทางเลือกที่เกี่ยวข้องกับสองสิ่งนี้หรือไม่?


22
ค้นหาไดรเวอร์ Oracle JDBC ในที่เก็บ Maven
ฉันต้องการเพิ่มไดร์เวอร์ oracle jdbc ให้กับโปรเจคของฉันเป็นการพึ่งพา (ขอบเขตรันไทม์) - ojdbc14 ในเว็บไซต์ MVNrepository การพึ่งพาที่จะใส่ใน POM คือ: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.3.0</version> </dependency> แน่นอนว่ามันใช้งานไม่ได้เพราะมันไม่ได้อยู่ในพื้นที่เก็บข้อมูลส่วนกลางที่ maven ใช้ 2 คำถาม: ฉันจะค้นหาที่เก็บ (ถ้ามี) ที่มีส่วนนี้ได้อย่างไร? ฉันจะเพิ่มมันเพื่อที่ Maven จะใช้มันได้อย่างไร
292 java  maven  jdbc  maven-2  mvn-repo 


12
JDBC Resultsets and Statement ต้องปิดแยกต่างหากแม้ว่าการเชื่อมต่อจะปิดหลังจากนั้นหรือไม่?
มันบอกว่าเป็นนิสัยที่ดีในการปิดทรัพยากร JDBC ทั้งหมดหลังจากการใช้งาน แต่ถ้าฉันมีรหัสต่อไปนี้จำเป็นต้องปิด Resultset และ Statement หรือไม่? Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; try { conn = // Retrieve connection stmt = conn.prepareStatement(// Some SQL); rs = stmt.executeQuery(); } catch(Exception e) { // Error Handling } finally { try { if (rs != …
256 java  jdbc 

8
Java JDBC - วิธีเชื่อมต่อกับ Oracle โดยใช้ชื่อบริการแทน SID
Наэтотвопросестьответына กองมากเกินнарусском : КакподключитсякБДออราเคิลиспользуяимясервиса (ชื่อบริการ) вместо SID? ฉันมีแอปพลิเคชัน Java ที่ใช้ JDBC (ผ่าน JPA) ที่เชื่อมต่อกับฐานข้อมูลการพัฒนาโดยใช้ชื่อโฮสต์, พอร์ตและ Oracle SID เช่นนี้: JDBC: oracle: บาง: @ oracle.hostserver1.mydomain.ca: 1521: XYZ XYZ คือ Oracle SID ตอนนี้ฉันต้องเชื่อมต่อกับฐานข้อมูล Oracle อื่นที่ไม่ได้ใช้ SID แต่ใช้ "ชื่อบริการ" ของ Oracle แทน ฉันลองสิ่งนี้ แต่มันไม่ทำงาน: JDBC: oracle: บาง: @ oracle.hostserver2.mydomain.ca: 1522: ABCD ABCD เป็นชื่อบริการของฐานข้อมูลอื่น ผมทำอะไรผิดหรือเปล่า?

14
ดึงชื่อคอลัมน์จาก java.sql.ResultSet
ด้วยjava.sql.ResultSetจะมีวิธีที่จะได้รับชื่อคอลัมน์ที่เป็นได้Stringโดยใช้ดัชนีคอลัมน์? ฉันได้ดู API เอกสาร แต่ไม่พบอะไรเลย
233 java  jdbc 

17
“ ค่าสตริงไม่ถูกต้อง” เมื่อพยายามแทรก UTF-8 ลงใน MySQL ผ่าน JDBC?
นี่คือวิธีการตั้งค่าการเชื่อมต่อของฉัน: Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password); และฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อผูกเพื่อเพิ่มแถวลงในตาราง: Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' for column 'content' at row 1 ฉันแทรกหลายพันระเบียนและฉันได้รับข้อผิดพลาดนี้เสมอเมื่อข้อความมี \ xF0 (เช่นค่าสตริงที่ไม่ถูกต้องเริ่มต้นด้วย \ xF0 เสมอ) การเปรียบเทียบคอลัมน์คือ utf8_general_ci มีปัญหาอะไร
228 mysql  jdbc  utf-8  utf8mb4 

30
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: การเชื่อมโยงล้มเหลวในการสื่อสาร
ฉันทำงานเพื่อรับฐานข้อมูลของฉันเพื่อพูดคุยกับโปรแกรม Java ของฉัน ใครสามารถให้โปรแกรมตัวอย่างที่รวดเร็วและสกปรกแก่ฉันโดยใช้ JDBC ได้หรือไม่ ฉันได้รับข้อผิดพลาดค่อนข้างน่าทึ่ง: Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1122) …
225 java  mysql  jdbc 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.