solvingscarcity.org
สร้างไฟล์ปฏิบัติการใน VB 2010 Express กำลังพยายามติดตั้ง Oracle Client และ SDK บน Red Hat Linux EL6: [~]: sudo rpm -ivh Preparing... ########################################### [100%] 1:oracle-instantclient12. ########################################### [100%] ดูเหมือนจะไปได้ แต่แล้วพยายามติดตั้ง SDK... [~]: sudo rpm -ivh error: Failed dependencies: oracle-instantclient12. 1-basic >= 12. 1. 0. 2. 0 is needed by oracle-instantclient12. 1-devel-12. 0-1. x86_64 ฉันเพิ่งติดตั้ง oracle-instantclient12. 1-basiclite-12. 0-1 ไม่ใช่หรือ 3 ใช่ แต่นั่นไม่ใช่แพ็คเกจที่ขอ อ๊ากกกก ฉันใช้ Basic Lite แทนที่จะเป็น Basic มีบางอย่างบอกฉันว่าคุณเคยมาที่นี่มาก่อน! มันค่อนข้างงี่เง่า - ทำไม 'basiclite' จึงไม่เพียงพอสำหรับแพ็คเกจ devel ถ้า "Basic Light Package - แพ็คเกจพื้นฐานรุ่นเล็กกว่าโดยมีเฉพาะข้อความแสดงข้อผิดพลาดภาษาอังกฤษและ Unicode, ASCII และการสนับสนุนชุดอักขระยุโรปตะวันตก" ดังที่ Michael Hampton ชี้ให้เห็นฉันอ่านข้อความแสดงข้อผิดพลาดไม่ถูกต้อง ฉันได้ติดตั้ง Oracle Instant Client 'Basic Lite' แล้วในขณะที่แพ็คเกจ SDK (oracle-instantclient12.
Intex น้ำยาล้างสระว่ายน้ำอัตโนมัติ ฉันจะต้องติดตั้ง tnsping ได้อย่างไร? ฉันพยายามติดตั้ง และฉันสามารถใช้คำสั่งไคลเอนต์บางอย่างได้ แต่ไม่สามารถใช้งานได้ 4 ด้วยเหตุผลที่ไม่ทราบสาเหตุ Oracle ปฏิเสธที่จะเพิ่ม tnsping ลงในแพ็คเกจไคลเอ็นต์ทันที มี HOWTO ในอินเทอร์เน็ตวิธีคัดลอกยูทิลิตีนี้จากการติดตั้งไคลเอนต์ "แบบหนา" ไปยังไดเร็กทอรี InstantClient ไม่รวม Oracle Instance Client tsnping ใบสมัคร คุณต้องเรียกใช้ "Oracle Universal Installer" และเปิดใช้งานตัวเลือกนี้ ฉันจำไม่ได้ว่าตัวเลือกใดที่คุณต้องตั้งค่ามันคือ "Oracle Database Utilities" หรือ "Oracle Net" ดู McTnsping ด้วย "โปรแกรมสแตนด์อะโลนของ Windows ซึ่งไม่ต้องใช้ไคลเอนต์ Oracle". เป็นแบบพกพาและไม่จำเป็นต้องติดตั้ง Usage 1:: [] the net service name in the file. : server name or IP and port (mandatory) number of times to check target, default is 1. นี่คือสิ่งที่ฉันทำเพื่อคัดลอก tnsping ไปยังเครื่องอื่น ในกรณีของฉันไคลเอนต์ oracle ถูกติดตั้งที่ C:\Oracle\product\12. 1. 0\client_1. สิ่งนี้ถือว่ามี Instant Client หรือสิ่งที่คล้ายกันติดตั้งบนเครื่องปลายทางแล้ว และกำหนดเส้นทาง oracle และรีจิสตรีคีย์แล้ว (1) สำเนา จากต้นทางไปยังเครื่องปลายทางเป็น client_1\bin.
oracle-instantclient -sqlplus-. oracle-instantclient -devel-.. ติดตั้ง RPM โดยใช้เอเลี่ยน ตัวอย่างเช่นในขณะที่เขียนนี้: $ sudo alien -i เพิ่มตัวแปรสภาพแวดล้อมที่จำเป็น (โดยส่วนตัวแล้วฉันใส่ไว้ใน /etc/environment จากนั้นออกจากระบบ / ย้อนกลับเพื่อโหลด env ใหม่): ORACLE_HOME=/usr/lib/oracle/ /client64/lib/ LD_LIBRARY_PATH=/usr/lib/oracle/ /client64/lib/ แก้ไข Oracle รวมถึง: $ sudo ln -s /usr/include/oracle/ /client $ORACLE_HOME/include # for 32bits arch, OR $ sudo ln -s /usr/include/oracle/ /client64 $ORACLE_HOME/include # for 64bits arch สร้าง /etc/ และ /etc/ (สำหรับเวอร์ชันล่าสุดอย่างน้อยตั้งแต่ 12. 1) ที่มี: /lib /usr/lib/oracle/ /client/lib; for 32bits arch, OR /usr/lib/oracle/ /client64/lib; for 64bits arch โหลดแคช ldconfig ใหม่ (ใช้ -v ตั้งค่าสถานะหากคุณต้องการ verbose): $ sudo ldconfig คุณอาจต้องติดตั้ง libaio1. สมมติว่าเราได้ติดตั้ง Oracle Instant Client 10 แล้วคุณมีทางเลือกอื่นในการติดตั้ง cx_Oracle: ติดตั้งด้วย pip: $ pip install cx_oracle (ลินุกซ์เท่านั้น) ดาวน์โหลดไฟล์ตัวติดตั้ง / จากไซต์ cx_oracle PyPI เวอร์ชันเก่ากว่า (เวอร์ชันที่น้อยกว่า 5.
(2) คัดลอกไฟล์ต่อไปนี้จากไฟล์ client_1\bin ถึง client_1\bin: ควรมีขนาดประมาณ 84. 6 MB (3) ใน client_1 บนเครื่องปลายทางทำการสำรองไฟล์ต่อไปนี้: ตอนนี้ในเครื่องต้นทางให้ค้นหาไฟล์เหล่านั้นในรูปแบบ client_1\bin และคัดลอกไปที่ client_1\ (ไม่มีถังขยะ) บนเครื่องปลายทางเขียนทับไฟล์ที่มีอยู่ (หมายเหตุ: มีขนาดเล็กกว่า ~ 330 kb เล็กกว่า ~ 300 kb ฉันไม่แน่ใจว่ามีอะไรหายไปจึงสำรองข้อมูลไว้) (4) บนเครื่องปลายทางสร้างไดเร็กทอรี mesg ใน client_1\Network. ตอนนี้คัดลอกไฟล์ต่อไปนี้จากต้นทางไปยังปลายทาง: client_1\Network\mesg\ (5) เปิด regedit สร้างคีย์ต่อไปนี้: HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient12Home1_32bit (จากเครื่องอื่นดูเหมือนว่าชื่อรุ่น x64 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient12Home1, แต่ tnsping โปรแกรมที่ฉันใช้บอกว่าเป็น 64 บิตดังนั้น... ) ภายใต้คีย์สร้างสตริงชื่อ ORACLE_HOME ด้วยค่า C:\Oracle\product\12. คุณควรจะทำตอนนี้ ( $$$ = redacted): C:\Users\$$$>tnsping $$$ TNS Ping Utility for 64-bit Windows: Version 12. 0. 2. 0 - Production on 03-APR-2 019 08:47:37 Copyright (c) 1997, 2014, Oracle.
1-devel) ต้องการ Oracle Instant Client 'พื้นฐาน' ความสำเร็จของฉันด้านล่าง แพ็คเกจ sqlplus ก็โอเคหลังจากนั้นเช่นกัน [~]: sudo rpm -ivh Preparing... ########################################### [100%] [~]: sudo rpm -ivh Preparing... ########################################### [100%]
7 ดาวน์โหลดได้จากที่นี่ (ใช้ในกรณีนี้เพื่อหลีกเลี่ยงการติดตั้ง Visual c ++ 2008 ทั้งหมดตามที่ระบุไว้ด้านล่าง) เป็นแพ็คเกจขนาดเล็กที่มีคอมไพเลอร์ c ++ สำหรับ python 2. 7 (หรือ) Visual c ++ 2008 express edition () [จะติดตั้งประมาณ 1 GB] vcforpython27 จะติดตั้งที่ 'C: \ Users \ Administrator \ AppData \ Local \ Programs \ Common \ Microsoft' เปิดใช้งานแสดงโฟลเดอร์ที่ซ่อนอยู่ใน windows ไปยังไดเรกทอรีเหล่านี้ ตั้งค่าตัวแปรสภาพแวดล้อมด้วยชื่อ 'VS100COMNTOOLS' ที่มีค่าเป็น 'C: \ Users \ Administrator \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ สำหรับ Python \ 9.
(2) คัดลอกไฟล์ต่อไปนี้จากไฟล์ client_1\bin ถึง client_1\bin: ควรมีขนาดประมาณ 84. 6 MB (3) ใน client_1 บนเครื่องปลายทางทำการสำรองไฟล์ต่อไปนี้: ตอนนี้ในเครื่องต้นทางให้ค้นหาไฟล์เหล่านั้นในรูปแบบ client_1\bin และคัดลอกไปที่ client_1\ (ไม่มีถังขยะ) บนเครื่องปลายทางเขียนทับไฟล์ที่มีอยู่ (หมายเหตุ: มีขนาดเล็กกว่า ~ 330 kb เล็กกว่า ~ 300 kb ฉันไม่แน่ใจว่ามีอะไรหายไปจึงสำรองข้อมูลไว้) (4) บนเครื่องปลายทางสร้างไดเร็กทอรี mesg ใน client_1\Network. ตอนนี้คัดลอกไฟล์ต่อไปนี้จากต้นทางไปยังปลายทาง: client_1\Network\mesg\ (5) เปิด regedit สร้างคีย์ต่อไปนี้: HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient12Home1_32bit (จากเครื่องอื่นดูเหมือนว่าชื่อรุ่น x64 HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient12Home1, แต่ tnsping โปรแกรมที่ฉันใช้บอกว่าเป็น 64 บิตดังนั้น... ) ภายใต้คีย์สร้างสตริงชื่อ ORACLE_HOME ด้วยค่า C:\Oracle\product\12. คุณควรทำตอนนี้ ( $$$ = redacted): C:\Users\$$$>tnsping $$$ TNS Ping Utility for 64-bit Windows: Version 12. 0. 2. 0 - Production on 03-APR-2 019 08:47:37 Copyright (c) 1997, 2014, Oracle.
1. 2 คือไฟล์. msi และ.
| | | | sql-statement | | help [tablename] | | quit | ผมเจอ error ไม่ต่ำกว่า 4-5 ตัว (แต่ละตัวทำเอามึน) เช่น Error ORA-12154: TNS:could not resolve the connect identifier specified อันนี้ตำแหน่ง อยู่ผิดที่ Debug ด้วย Log หากพบปัญหาตอนเรียก isql ให้ใส่ -v เพื่อดู ORA error number แล้ว google error number ดู ถ้ายังไม่ได้อีก ผมใช้ strace ตามนี้ $ strace -fac -o isql -v simple เช่นตอนกำหนดตำแหน่ง ผิด ผมเปิด พบว่า นั่นไง by default isql จะเปิด จาก "/home/[user]/. " "/etc/" "/usr/lib/oracle/12. 1/client64/lib/network/admin/" เป็นต้น การใช้ sqlplus64 ตามด้วย custom tns connect ORA server ได้ ไม่ได้หมายความว่า ODBC จะ connect ได้ เช่น $ sqlplus64 user/password@// connect ได้ query ได้ แต่ isql ไม่ works การติดตั้ง sqleveloper Connect ORA server ได้ ไม่ได้หมายความว่า ODBC จะ connect ได้ เช่นกัน อาจไม่ cover ทุก error ที่เจอ แต่ใคร install Oracle ODBC Driver บน Linux แล้วพบปัญหาลองแลกเปลี่ยนกันดูครับ ผมยังใหม่กับ Oracle มาก:D
1/client64/lib จากนั้นติดตั้ง unixODBC $sudo yum install unixODBC export environment $ export ORACLE_HOME=/usr/lib/oracle/12. 1/client64 $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib $ export TWO_TASK=// (note: listener ต้องตรงกับ server นะครับ) note: ผมสร้าง ที่มี /usr/lib/oracle/12. 1/client64/lib หนึ่งบรรทัด ไว้ที่ /etc/ แล้วเรียก $ sudo ldconfig หนึ่งที ด้วย:D จากนั้นก็ไป copy มาจาก server (server ผมเป็น windows 7) เอามาจาก c:/app/[username]/product/11. 2. 0/dbhome_1/network/admin (ลองไล่ๆ ดูนะครับ แต่ละเครื่องไม่เหมือนกัน อยู่ที่การติดตั้ง) ผมแก้ นิดหน่อยครับ เหลือแต่ _SID_NAME_ = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST =) (PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = _SID_NAME_))) _SID_NAME_ ตรงกับ SID ที่ server ไปตามอ่านใน oracle document พบว่าให้สร้าง ไว้ที่ $ORACLE_HOME/network/admin ก็ไปสร้างไว้ตรงนั้นตามเอกสาร จากนั้นสร้าง ODBC's drive profile ใน /etc/ ตามนี้ครับ [OracleODBC-12g] Description = Oracle ODBC driver for Oracle 12g Driver64 = /usr/lib/oracle/12.