Xcode рд╕реЗ Oracle DB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛

рдореИрдВ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ xcode рд╕реЗ oracle рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╕реАрдзреЗ oracle рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Apple рд╕реЗ рддреИрдпрд╛рд░ рд░реВрдкрд░реЗрдЦрд╛ рдирд╣реАрдВ рдорд┐рд▓реАред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдПрдХ рддрд╛рддреНрдХрд╛рд▓рд┐рдХрддрд╛ рдХреЛ рдУрд░реЗрдХрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдУрд░реЗрдХрд▓ (cdemo81.c) рд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдПрдХреНрд╕рдХреЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рд╣рд╛рдВ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЧреВрдЧрд▓ рд╕реЗ рдереЛрдбрд╝рд╛ рд╢рдорд╛рдВ рддрдВрдмреВрд░рд╛ рдорд╛рд░рдирд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реАрдзреЗ oci рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдлрд┐рд░ рдореИрдВрдиреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдУрд╕реАрд▓реАрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА ( http://orclib.sourceforge.net ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
рдкрд╛рда рдореЗрдВ рдЖрдЧреЗ рдПрдХ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢ рд╣реИ рдХрд┐ рдХреЛрдХреЛ рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреИрд╕реЗ рдмрдирд╛рдИ рдЬрд╛рдП рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд▓рдХреНрд╖реНрдп рдУрд░реЗрдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред

1) рд╕реНрд╡рдпрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ http://orclib.sourceforge.net/download/
2) macosx рдХреЗ рд▓рд┐рдП oracle рд╕реЗ рддрддреНрдХрд╛рд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html , рдореБрдЭреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг 11.2.0.3.0 (64-рдмрд┐рдЯ), рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдореВрд▓: OCI, OCCI, рдФрд░ JDBC-OCI рдПрдкреНрд▓рд┐рдХреЗрд╢рди ( http://download.oracle.com/otn/mac/instantclient/11203/instantclient-basic-macos.x64-11.2.0.3.0) рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ ред рдЬрд╝рд┐рдк ) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрдВрдЬреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИред рдУрдЗрд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рдСрд╕рд┐рдмрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП "рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЬ - рдПрд╕рдбреАрдХреЗ: рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдУрд░реЗрдХрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдХрдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ", рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдПрдХ рддреНрд╡рд░рд┐рдд-рдПрд╕рдбреАрдХреЗ-рдореИрдХ-рдПрдХреНрд╕ 64-11.2.0.3 рд╣реИ .0.zip ( http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html )
3) рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЗрдВрд╕реНрдЯреЗрдВрдЯрдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП / usr / рд▓реЛрдХрд▓ / рд▓рд┐рдм / рдЗрдВрд╕реНрдЯреЗрдВрдЯрдХреНрд▓рд╛рдЗрдВрдЯ_11_2
4) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрд╕рдбреАрдХреЗ рдХреЛ рдлреЛрд▓реНрдбрд░ рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдлреЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдлреЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рд░рдЦреЗрдВ, рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - / usr / local / lib / Instantclient_11_2 / sdk
5) рдЕрдм, рдЖрдкрдХреЛ рддрддреНрдХрд╛рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдХрдВрд╕реЛрд▓ рдореЗрдВ / usr / рд╕реНрдерд╛рдиреАрдп / lib / Instantclient_11_2 рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ, рдлрд┐рд░ рдПрдХ рд╕рд┐рдореНрдХрд▓рд┐рди рдмрдирд╛рдПрдВ - "ln -s libclntsh.dylib.11.1 libclntsh.dylib"
6) рдЗрд╕рдХреЗ рдмрд╛рдж, ocilib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, /User/username/Downloads/ocilib-3.12.1 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
7) рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдУрд╢рд┐рд▓рд┐рдм рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - cd /Users/username/Downloads/ocilib-3.12.1
8) рдХрдВрд╕реЛрд▓ рдореЗрдВ, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ

 ./configure --with-oracle-lib-path=/usr/local/lib/instantclient_11_2/ тАФwith-oracle-headers-path=/usr/local/lib/instantclient_11_2/sdk/include make sudo make install 


рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреБрд╕реНрддрдХрд╛рд▓рдп / usr / рд╕реНрдерд╛рдиреАрдп / рдХрд╛рдордЧрд╛рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ libbilion *
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рддреИрдпрд╛рд░реА рдХрд╛ рдкрд╣рд▓рд╛ рдЪрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЕрдм Xcode рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ

1) Xcode рдореЗрдВ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ (OS X -> рдХреЛрдХреЛрдЖ рдПрдкреНрд▓реАрдХреЗрд╢рди)
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Xcode (рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг 5.1 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ) MainMenu.xib рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рджреГрд╢реНрдп рд╣реЛрддрд╛ рд╣реИред
2) рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣реЗрдбрд┐рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдСрд╕рд┐рдмрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВред рд╣рдо рдлрд╝реЛрд▓реНрдбрд░ рдЦреЛрд▓рддреЗ рд╣реИрдВ /User/username/Downloads/ocilib-3.12.1/include рдФрд░ ocilib.h рдлрд╝рд╛рдЗрд▓ рдХреЛ Xcode рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (xcode рдореЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдлрд╝рд╛рдЗрд▓-> рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝реЗрдВ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо" рдХреЗ рд▓рд┐рдП рдФрд░ рд╣рдорд╛рд░реЗ ocilib.h рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
3) рдЖрдЧреЗ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо xcode рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд▓рд┐рдВрдХрд░ рдлреНрд▓реИрдЧ рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ - "-locilib" рдФрд░ "-lclntsh -" - рдкрд╣рд▓рд╛, рдСрд╕реАрд▓рд┐рдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд▓рд┐рдВрдХ, рджреВрд╕рд░рд╛ рдЗрдВрд╕реНрдЯреЗрдВрдЯрдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП ред рдпрджрд┐ рд╣рдо рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЕрдм рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ - "ld: рдкреБрд╕реНрддрдХрд╛рд▓рдп -lclntsh рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛"ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм xcode рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрддреНрдХрд╛рд▓ рдХреНрд▓рд░реНрдХ рдХрд╣рд╛рдБ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
4) рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ - рдЗрд╕рдХреЗ рд▓рд┐рдП, xcode рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЦреЛрд▓реЗрдВ, "рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд░реНрдЪ рдкрд╛рде" рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрдЯрдХреНрд▓рд┐рдПрдВрдЯ рдФрд░ рдУрд╕реАрд▓реАрдм рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ, рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рджрдмрд╛рдПрдВ "/ usr / рд╕реНрдерд╛рдиреАрдп / lib / Instantclient_11_2" рдФрд░ "usr / рд▓реЛрдХрд▓ / рд▓рд┐рдмрд╛рд╕" "

рддреИрдпрд╛рд░реА рдХрд╛ рджреВрд╕рд░рд╛ рдЪрд░рдг рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рджреЗрдЦрд╛ред рдЖрдЗрдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рд╕рдм рдХреБрдЫ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдмрдзрд╛рдИ, рд░рд╛рд╕реНрддреЗ рдХрд╛ рдПрдХ рддрд┐рд╣рд╛рдИ рдкреАрдЫреЗ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рдХреЛрдИ рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдЪреАрдЬреЗрдВ рдмрдЪреА рд╣реИрдВред

1) AppDelegate.h рдореЗрдВ рд╣рдо рд▓рд┐рдЦреЗрдВрдЧреЗ #include "ocilib.h"
2) AppDelegate.m рдореЗрдВ рд╣рдо рдХреЛрдб рдмрджрд▓рддреЗ рд╣реИрдВ

 - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { OCI_Connection* cn; OCI_Statement* st; OCI_Resultset* rs; OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT); cn = OCI_ConnectionCreate("orcl", "USERNAME", "PASSWORD", OCI_SESSION_DEFAULT); st = OCI_StatementCreate(cn); OCI_ExecuteStmt(st, "select id,name from test_encoding_table"); rs = OCI_GetResultset(st); while (OCI_FetchNext(rs)) { printf("%i - %s\n", OCI_GetInt(rs, 1), OCI_GetString(rs,2)); } OCI_Cleanup(); } 


рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рдкрд╛рд╕рд╡рд░реНрдб рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╣реИ, рдФрд░ orns tnsnames.ora рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдЙрджрд╛рд╣рд░рдг рдирд╛рдо рд╣реИ (рд░рдЬрд┐рд╕реНрдЯрд░ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ)
рдЕрдЧрд░ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдпрд╣ рдПрдХ - "рдбрд╛рдЗрд▓реНрдб: рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдирд╣реАрдВ: /ade/b/2649109290/oracle/rdbms/lib/libclntsh.dyln.11.11.1
рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд: /Users/chepil/Library/Developer/Xcode/DerivedData/test3-hdexygntscvmwccahcfolpqrkldi/Build/Pebs/Dest3.app/Contents/MacOS/test3
рдХрд╛рд░рдг: рдЫрд╡рд┐ рдирд╣реАрдВ рдорд┐рд▓реА ┬╗

рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рдЬрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рд╣рд╛рдБ, рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬрд┐рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЭреВрда рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдЬ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдПрдХ рдФрд░ рдмрд╛рдд рд╣реИред
рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЪрд▓рд╛рдПрдВ, рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдХреЛ рд╕реАрдзреЗ xcode рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рдВрдбреЛ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрдиреВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ), рдФрд░ "рдПрдбрд┐рдЯ рд╕реНрдХреАрдо ..." рдЪреБрдиреЗрдВ
рд╣рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдпреЛрдЬрдирд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ "test3.app рд░рди") рдФрд░ рддрд░реНрдХ рдЯреИрдм рдЦреЛрд▓реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХреБрдЫ "рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░" - рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЪрд░ рдХреЗрд╡рд▓ Xcode рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдорд╛рдиреНрдп рд╣реИрдВ, рдФрд░ рдЬреИрд╕реЗ рд╣реА рд╣рдо рдЦреБрд▓реЗ рддреИрд░рд╛рдХреА рдореЗрдВ рдЕрдкрдиреА рдРрдк рдлрд╝рд╛рдЗрд▓ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреБрд░рдВрдд рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ ...

3) рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ DYLD_LIBRARY_PATH рдХреЛ рдорд╛рди / usr / рд╕реНрдерд╛рдиреАрдп / lib: / usr / рд╕реНрдерд╛рдиреАрдп / lib / Instantclient_11_2 рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдИ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдЗрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рд╕рд╛рдВрддреНрд╡рдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЖрдпрд╛ред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рдерд╛, рдФрд░ рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░, рдЖрдкрдХрд╛ test_encoding_table рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЧрд╛рдпрдм рд╣реИ (рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдерд╛)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИ? рдпрд╣ рд╕рд╣реА рд╣реИ, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ORACLE_HOME, рдЬрд┐рд╕рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ / tnsnames.ora рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

4) рдлрд╝реЛрд▓реНрдбрд░ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / oracle_home / рдиреЗрдЯрд╡рд░реНрдХ / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдмрдирд╛рдПрдВ
5) рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ /User/username/oracle_home/network/admin/tnsnames.ora
tnsnames.ora рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА:

 orcl= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=orclserver.myaddress.com) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl))) 


рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдиреЗрдХреНрд╢рди рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдУрд░реЗрдХрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИрдВред рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

6) рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд▓рд┐рдЦреЗрдВрдЧреЗ (рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдЬрд╣рд╛рдВ рд╣рдордиреЗ DYLD_LIBRARY_PATH рд▓рд┐рдЦрд╛ рдерд╛)ред рдирдП рдЪрд░ рдХрд╛ рдирд╛рдо ORACLE_HOME рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / oracle_home рд╣реЛрдЧрд╛
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЬрдм рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рдХреНрд╡реЗрд░реА (рдЕрдкрдиреА рдЯреЗрдмрд▓ рдкрд░) рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪрд░ рдХрд╛ рдорд╛рди ORACLE_HOME рдирд╣реАрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди TNS_ADMIN рдФрд░ tnsnames.ora рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (Oracle рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдирд╣реАрдВ рдЪрдмрд╛рдКрдВрдЧрд╛)

7) рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, test_encoding_table рдореЗрдВ UTF8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд░реВрд╕реА рдФрд░ рдЬрд╛рдкрд╛рдиреА рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ xcode рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛:
1 - ????????????? ???????? ????
...

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпреЗ рдкреНрд░рд╢реНрди рд╣реИрдВ, рди рдХрд┐ рд╣рдореЗрдВ рдЬреЛ рдбреЗрдЯрд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╕рд╣реА рдбреЗрдЯрд╛ рд░рд┐рдЯрд░реНрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ

8) рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВрдЧреЗред рд╕рд╛рде рд╣реА DYLD_LIBRARY_PATH, ORACLE_HOME, рдПрдХ рдЪрд░ NLS_LANG рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рд▓рд┐рдЦреЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, R рд░реВрд╕реАAN_CIS.UTF8)
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдВрд╕реЛрд▓ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ -

1 - рд░реВрд╕реА рдирд╛рдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг
2 - цЧецЬмшкЮ уБз хИйчФи уБз уБз уБз уБз уБз уБз уБз уБз

рдЬрд┐рд╕реЗ рд╕рд┐рджреНрдз рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред

рдпрд╣ рд░рд╣рддрд╛ рд╣реИ - рдЫреЛрдЯреА рдЪреАрдЬреЗрдВред рдЪрд▓рд┐рдП рдЕрдм рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ NSTextView рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП
рдЪрд▓реЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ MainMenu.xib рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рд╡рд┐рдВрдбреЛ рдкрд░ рдПрдХ рдирдпрд╛ NSTextView рдбрд╛рд▓рддреЗ рд╣реИрдВ
AppDelegate.h рдмрджрд▓реЗрдВ

 #import <Cocoa/Cocoa.h> #include "ocilib.h" @interface AppDelegate : NSObject <NSApplicationDelegate> { IBOutlet NSTextView *textView; } @property (assign) IBOutlet NSWindow *window; @property (nonatomic,retain) IBOutlet NSTextView *textView; @end 


3) AppDelegate.m рдХреЛ рдмрджрд▓реЗрдВ

 #import "AppDelegate.h" @implementation AppDelegate @synthesize textView; - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initialize your application NSString *str = @""; OCI_Connection* cn; OCI_Statement* st; OCI_Resultset* rs; OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT); cn = OCI_ConnectionCreate("orcl", "username", "password", OCI_SESSION_DEFAULT); st = OCI_StatementCreate(cn); OCI_ExecuteStmt(st, "select id,name from test_encoding_table"); rs = OCI_GetResultset(st); while (OCI_FetchNext(rs)) { printf("%i - %s\n", OCI_GetInt(rs, 1), OCI_GetString(rs,2)); NSString *str1 = [NSString stringWithUTF8String:OCI_GetString(rs,2)]; str = [NSString stringWithFormat:@"%@\n%i: %@",str,OCI_GetInt(rs, 1),str1]; } OCI_Cleanup(); [textView setString:str]; } @end 


4) MainMenu.xib рдкрд░, AppDelegate рдЦреЛрд▓реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ textView рдХреЛ рд╣рдорд╛рд░реЗ рдирдП NSTextView рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдБ
рдЕрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрдВрд╕реЛрд▓ рдФрд░ NSTextView рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реИред

рдЕрдВрддрд┐рдо рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгред рдпрджрд┐ рд╣рдо рдХрдВрд╕реЛрд▓ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ test3.app) рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ xcode рд╕реЗ рдирд╣реАрдВ, рддреЛ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ test.sh рдмрдирд╛рдПрдБ, рдЗрд╕реЗ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдВ
 chmod +x test.sh 
рдФрд░ рдЕрдВрджрд░ рдХреБрдЫ рд▓рд┐рдЦреЗрдВ:

 #!/bin/sh export DYLD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib/instantclient_11_2 export ORACLE_HOME=/Users/chepil/oracle_home export NLS_LANG=RUSSIAN_CIS.UTF8 open test3.app 


рдХрдВрд╕реЛрд▓ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдПрдБ -

 ./test3.sh 


рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреБрд▓рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рд╡рд┐рдВрдбреЛ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯрд╡реНрдпреВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╢рд╛рдпрдж рдУрд░реЗрдХрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдУрдХрд┐рдмреЗрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдУрд░реЗрдХрд▓ рд╕реЗ рдУрд░реЗрдХрд▓ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдФрд░ рдореИрдВ рдкрд╣рд┐рдпрд╛ рдХреЛ рд╕реБрджреГрдврд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред Oracle рд╕реЗ xcode рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдХрд┐рд╕рдХреЗ рдкрд╛рд╕ рд╣реИ? рд▓реЗрдЦ рдХреЗ рдкрд╛рда рдкрд░ рдХреНрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ?
рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In217397/


All Articles