การเชื่อมต่อ JDBC แบบอ่านอย่างเดียวของ Oracle

มีวิธีรับการเชื่อมต่อ JDBC แบบอ่านอย่างเดียวจากฐานข้อมูล oracle หรือไม่ โดยปกติแล้ว ฉันกำลังมองหาพารามิเตอร์ jdbc url ที่จะเปิดใช้งานสิ่งนี้ บางอย่างเช่น:

jdbc:oracle:thin:@hostname:1521:sid?readonly=true

ฉันใช้ไดรเวอร์แบบบาง


person yannisf    schedule 29.11.2013    source แหล่งที่มา
comment
เพียงระบุผู้ใช้ที่มีสิทธิ์อนุญาตที่ถูกต้องเท่านั้น!   -  person isnot2bad    schedule 29.11.2013
comment
คุณสามารถทำได้ด้วยการให้ฐานข้อมูลไม่ใช่ด้วย URL การเชื่อมต่อ   -  person erencan    schedule 29.11.2013


คำตอบ (2)


ตามที่แนะนำในความคิดเห็น ทางที่ดีที่สุดคือการให้สิทธิ์อ่านอย่างเดียวแก่ผู้ใช้ที่เข้าถึงฐานข้อมูล

มีทางเลือกอื่นที่ไม่แนะนำ

คุณสามารถตั้งค่าพารามิเตอร์ readOnly ในคลาสการเชื่อมต่อได้โดยใช้ Connection.setReadOnly

อ้างอิงเอกสาร API สำหรับรายละเอียดเพิ่มเติม

http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#setReadOnly(boolean)

person Abhijith Nagarajan    schedule 29.11.2013
comment
เหตุใดจึงไม่แนะนำทางเลือกแบบอ่านอย่างเดียว เพราะการรวมการเชื่อมต่อหรืออะไร? - person Stephen; 23.09.2014
comment
ขออภัยสำหรับการตอบกลับปลาย. ไม่แนะนำให้ตั้งค่าแอตทริบิวต์แบบอ่านอย่างเดียวเนื่องจากคุณต้องดำเนินการขณะดึงการเชื่อมต่อทุกครั้ง และนี่ไม่ใช่ข้อจำกัด และการตั้งค่านี้มีไว้เพื่อให้คำแนะนำแก่ไดรเวอร์เพื่อเปิดใช้งานการปรับฐานข้อมูลให้เหมาะสม - person Abhijith Nagarajan; 03.10.2014
comment
เพื่อชี้แจงให้ชัดเจน setReadOnly(true) ไม่ได้ตั้งค่าการเชื่อมต่อให้อ่านอย่างเดียวเนื่องจากอาจฟังดูดี ไม่ใช่ทางเลือกอื่นเลยหากเป้าหมายของคุณคือการเชื่อมต่อที่ไม่สามารถแก้ไขแหล่งข้อมูลได้ - person Stoopkid; 05.04.2018

เท่าที่ฉันทราบ Thin Drive จะมีสิทธิ์แบบเดียวกับที่ผู้ใช้ที่คุณเชื่อมต่อด้วย ดังนั้นวิธีที่ง่ายที่สุดในการรับสิ่งนี้คือการมีผู้ใช้ในฐานข้อมูลแบบอ่านอย่างเดียว ตรวจสอบส่วนสุดท้ายของลิงก์นี้: http://docs.oracle.com/cd/B19306_01/java.102/b14355/apxtips.htm

person chaos    schedule 29.11.2013