{"id":3702,"date":"2024-04-28T13:54:01","date_gmt":"2024-04-28T04:54:01","guid":{"rendered":"https:\/\/blog.boxcorea.com\/wp\/?p=3702"},"modified":"2024-04-25T13:54:25","modified_gmt":"2024-04-25T04:54:25","slug":"ubuntu-python3djangooracle19cgrid-%ec%82%ac%ec%9a%a9%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702","title":{"rendered":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30."},"content":{"rendered":"<p>\uc6b0\ubd84\ud22c \ub9ac\ub205\uc2a4\uc5d0\uc11c python3, django, oracle 19c \uc0ac\uc6a9\ud558\uae30.<\/p>\n<p>* \uc791\uc5c5 \ud658\uacbd<br \/>\nOS: ubuntu 22.04<br \/>\nip address : 172.30.124.211 (\uc624\ub77c\ud074 \uc124\uce58\ub41c \uc11c\ubc84 \uc544\ub2d8)<br \/>\npython: python3.10.12<br \/>\noracle client: \uc124\uce58\ub428.<br \/>\ndjango: 5.0.4<br \/>\nOracle \ub370\uc774\ud130\ubca0\uc774\uc2a4 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243 <\/p>\n<p>* \uc8fc\uc758\uc0ac\ud56d<br \/>\ncx_Oracle \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uba74 \uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5c6\uc774 \ud30c\uc774\uc36c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.<br \/>\n\ud558\uc9c0\ub9cc Django \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc624\ub77c\ud074 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub824\uba74, \uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n\uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8 \uc124\uce58\ub294 \uc544\ub798 \uae00\uc744 \ucc38\uace0\ud558\uba74 \ub41c\ub2e4.<br \/>\nhttps:\/\/blog.boxcorea.com\/wp\/archives\/3700<\/p>\n<p>1. cx_Oracle \ud328\ud0a4\uc9c0 \uc124\uce58.<\/p>\n<pre>(venv) $ pip install cx_oracle\r\nCollecting cx_oracle \r\n...\r\n<\/pre>\n<p>2. \ud14c\uc2a4\ud2b8 \ucf54\ub4dc \uc791\uc131<\/p>\n<pre>import cx_Oracle\r\n\r\ndef test_oracle():\r\n    dsn_tns = cx_Oracle.makedsn(host='172.30.124.242', port='1521', service_name='orcl')\r\n    con = cx_Oracle.connect(user='fox', password='fox123', dsn=dsn_tns)\r\n    cur = con.cursor()\r\n    cur.execute('select * from test')\r\n    for i in cur:\r\n        print(i)\r\n    cur.close()\r\n    con.close()\r\n\r\n\r\nif __name__ == '__main__':\r\n    test_oracle()<\/pre>\n<p>\ucf54\ub4dc \uc2e4\ud589 \uacb0\uacfc \uc774\uc0c1 \uc5c6\uc774 \uc798 \uc2e4\ud589\ub428.<\/p>\n<pre>(venv) $ python main.py\r\n(2, 'snowfox')\r\n(1, 'poss')\r\n<\/pre>\n<p><!--more--><\/p>\n<p>3. django \uc124\uce58.<\/p>\n<pre>(venv) $ pip install django<\/pre>\n<p>4. django \ud504\ub85c\uc81d\ud2b8 \ub9cc\ub4e4\uae30. <\/p>\n<p>\ud504\ub85c\uc81d\ud2b8 \uc774\ub984 oraTest\ub85c \uc7a5\uace0 \ud504\ub85c\uc81d\ud2b8\ub97c \ub9cc\ub4e0\ub2e4.<\/p>\n<pre>(venv) $ django-admin startproject oraTest<\/pre>\n<p>settings.py \uac00 \uc788\ub294 \ub514\ub809\ud1a0\ub9ac\ub85c \uc774\ub3d9\ud558\uace0 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud56d\ubaa9\uc744 \uc218\uc815\ud55c\ub2e4.<\/p>\n<pre>(venv) $ cd oraTest\/oraTest\/<\/pre>\n<pre>(venv) oraTest\/oraTest$ vi settings.py\r\nDATABASES = {\r\n    # 'default': {\r\n    #     'ENGINE': 'django.db.backends.sqlite3',\r\n    #     'NAME': BASE_DIR \/ 'db.sqlite3',\r\n    # }\r\n    'default': {\r\n        'ENGINE': 'django.db.backends.oracle',\r\n        'NAME': 'orcl',     # oracle service name  \r\n        'USER': 'fox',\r\n        'PASSWORD': 'fox123',\r\n        'HOST': '172.30.124.243',\r\n        'PORT': '1521',\r\n    }<\/pre>\n<p>\uc774\ub807\uac8c \uc124\uc815\ud558\uc600\uc73c\ub098, <\/p>\n<p>django.db.utils.OperationalError: DPY-6005: cannot connect to database (CONNECTION_ID=eMkjmK1PMCPNdhtYy5Tdwg==).<br \/>\nDPY-6003: SID &#8220;orcl&#8221; is not registered with the listener at host &#8220;172.30.124.241&#8221; port 1521. (Similar to ORA-12505)<\/p>\n<p>\uc624\ub958 \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n<p>grid \uc11c\ube44\uc2a4 \uc774\ub984\uc778 orcl \ub300\uc2e0, \uac01 \ub178\ub4dc\uc5d0\uc11c \uc2e4\ud589\uc911\uc778 SID(orcl1 \ub610\ub294 orcl2) \uc911 \uc784\uc758\uc758 SID\ub97c \uc124\uc815\ud558\uba74 \uc811\uc18d\uc774 \uc798 \ub41c\ub2e4.<\/p>\n<pre>DATABASES = {\r\n    # 'default': {\r\n    #     'ENGINE': 'django.db.backends.sqlite3',\r\n    #     'NAME': BASE_DIR \/ 'db.sqlite3',\r\n    # }\r\n    'default': {\r\n        'ENGINE': 'django.db.backends.oracle',\r\n        'NAME': 'orcl2',     # oracle SID (orcl1 \ub610\ub294 orcl2\uc911 \ud558\ub098 \uc124\uc815)\r\n        'USER': 'fox',\r\n        'PASSWORD': 'fox123',\r\n        'HOST': '172.30.124.242',     # SCAN IP \uc911 \uc784\uc758\uc758 IP \uc8fc\uc18c \uc124\uc815\r\n        'PORT': '1521',\r\n    }\r\n}<\/pre>\n<p>\uc544\ub798 \uba85\ub839\uc73c\ub85c \ud504\ub85c\uc81d\ud2b8 \uae30\ubcf8 \ud14c\uc774\ube14\uc744 \ub9cc\ub4e0\ub2e4.<\/p>\n<pre>(venv) snowfox@foo:~\/PycharmProjects\/conOracle\/oraTest$ python manage.py migrate<\/pre>\n<p>\uc7a5\uace0 \uad00\ub9ac\uc790\ub97c \ub9cc\ub4e0\ub2e4.<\/p>\n<pre>(venv) snowfox@foo:~\/PycharmProjects\/conOracle\/oraTest$ python manage.py createsuperuser<\/pre>\n<p>\uc624\ub77c\ud074 \uc811\uc18d\ud558\uc5ec \ud14c\uc774\ube14 \ud655\uc778\ud574 \ubcf4\uba74.<\/p>\n<pre>snowfox@foo:~$ sqlplus fox\/fox123@172.30.124.241\/orcl\r\n\r\nSQL*Plus: Release 21.0.0.0.0 - Production on \uae08 4\uc6d4 19 14:53:16 2024\r\nVersion 21.13.0.0.0\r\n\r\nCopyright (c) 1982, 2022, Oracle.  All rights reserved.\r\n\r\n\ub9c8\uc9c0\ub9c9 \uc131\uacf5\ud55c \ub85c\uadf8\uc778 \uc2dc\uac04: \uae08 4\uc6d4  19 2024 14:52:52 +09:00\r\n\r\n\ub2e4\uc74c\uc5d0 \uc811\uc18d\ub428:\r\nOracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production\r\nVersion 19.3.0.0.0\r\n\r\nSQL> set heading off\r\nSQL> select * from tab;\r\n\r\nTEST\r\nTABLE\r\n\r\nDJANGO_MIGRATIONS\r\nTABLE\r\n\r\nDJANGO_CONTENT_TYPE\r\nTABLE\r\n\r\nAUTH_PERMISSION\r\nTABLE\r\n\r\nAUTH_GROUP\r\n\r\nTABLE\r\n\r\nAUTH_GROUP_PERMISSIONS\r\nTABLE\r\n\r\nAUTH_USER\r\nTABLE\r\n\r\nAUTH_USER_GROUPS\r\nTABLE\r\n\r\nAUTH_USER_USER_PERMISSIONS\r\nTABLE\r\n\r\n\r\nDJANGO_ADMIN_LOG\r\nTABLE\r\n\r\nDJANGO_SESSION\r\nTABLE\r\n\r\n\r\n11 \ud589\uc774 \uc120\ud0dd\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/pre>\n<p>\uc704\ucc98\ub7fc django \uad00\ub828 \ud14c\uc774\ube14\uc774 \ub9cc\ub4e4\uc5b4 \uc84c\ub2e4.<\/p>\n<p>* \ucc38\uace0:<br \/>\n\uc544\ub798\ub294 \uc124\uce58\ub41c \ud30c\uc774\uc36c \ud328\ud0a4\uc9c0.<\/p>\n<pre>(venv) $ pip freeze\r\nasgiref==3.8.1\r\ncffi==1.16.0\r\ncryptography==42.0.5\r\ncx-Oracle==8.3.0\r\nDjango==5.0.4\r\npycparser==2.22\r\nsqlparse==0.5.0\r\ntyping_extensions==4.11.0<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\uc6b0\ubd84\ud22c \ub9ac\ub205\uc2a4\uc5d0\uc11c python3, django, oracle 19c \uc0ac\uc6a9\ud558\uae30. * \uc791\uc5c5 \ud658\uacbd OS: ubuntu 22.04 ip address : 172.30.124.211 (\uc624\ub77c\ud074 \uc124\uce58\ub41c \uc11c\ubc84 \uc544\ub2d8) python: python3.10.12 oracle client: \uc124\uce58\ub428. django: 5.0.4 Oracle \ub370\uc774\ud130\ubca0\uc774\uc2a4 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243 * \uc8fc\uc758\uc0ac\ud56d cx_Oracle \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uba74 \uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5c6\uc774 \ud30c\uc774\uc36c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4. \ud558\uc9c0\ub9cc Django \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc624\ub77c\ud074 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub824\uba74, \uc624\ub77c\ud074 &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[27,491],"tags":[1234,481,1220,25,1223,496,1228,43,1237,1236,1235,855],"class_list":["post-3702","post","type-post","status-publish","format-standard","hentry","category-database","category-491","tag-cx-oracle","tag-django","tag-grid","tag-oracle","tag-oracle19c","tag-python","tag-rac","tag-43","tag-19c","tag-1236","tag-1235","tag-855","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea\" \/>\n<meta property=\"og:description\" content=\"\uc6b0\ubd84\ud22c \ub9ac\ub205\uc2a4\uc5d0\uc11c python3, django, oracle 19c \uc0ac\uc6a9\ud558\uae30. * \uc791\uc5c5 \ud658\uacbd OS: ubuntu 22.04 ip address : 172.30.124.211 (\uc624\ub77c\ud074 \uc124\uce58\ub41c \uc11c\ubc84 \uc544\ub2d8) python: python3.10.12 oracle client: \uc124\uce58\ub428. django: 5.0.4 Oracle \ub370\uc774\ud130\ubca0\uc774\uc2a4 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243 * \uc8fc\uc758\uc0ac\ud56d cx_Oracle \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uba74 \uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5c6\uc774 \ud30c\uc774\uc36c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4. \ud558\uc9c0\ub9cc Django \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc624\ub77c\ud074 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub824\uba74, \uc624\ub77c\ud074 &hellip; Continue reading\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\" \/>\n<meta property=\"og:site_name\" content=\"Blog-boxcorea\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-28T04:54:01+00:00\" \/>\n<meta name=\"author\" content=\"snowffox\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"snowffox\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\"},\"author\":{\"name\":\"snowffox\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a\"},\"headline\":\"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30.\",\"datePublished\":\"2024-04-28T04:54:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\"},\"wordCount\":74,\"commentCount\":0,\"keywords\":[\"cx-oracle\",\"Django\",\"grid\",\"oracle\",\"oracle19c\",\"python\",\"rac\",\"\uc624\ub77c\ud074\",\"\uc624\ub77c\ud07419c\",\"\uc624\ub77c\ud074\uadf8\ub9ac\ub4dc\",\"\uc7a5\uace0\",\"\ud30c\uc774\uc36c\"],\"articleSection\":[\"DATABASE\",\"Python\/Django\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\",\"url\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\",\"name\":\"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea\",\"isPartOf\":{\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/#website\"},\"datePublished\":\"2024-04-28T04:54:01+00:00\",\"author\":{\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.boxcorea.com\/wp\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/#website\",\"url\":\"https:\/\/blog.boxcorea.com\/wp\/\",\"name\":\"Blog-boxcorea\",\"description\":\"Simple is Beautiful!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.boxcorea.com\/wp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a\",\"name\":\"snowffox\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g\",\"caption\":\"snowffox\"},\"url\":\"https:\/\/blog.boxcorea.com\/wp\/archives\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702","og_locale":"ko_KR","og_type":"article","og_title":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea","og_description":"\uc6b0\ubd84\ud22c \ub9ac\ub205\uc2a4\uc5d0\uc11c python3, django, oracle 19c \uc0ac\uc6a9\ud558\uae30. * \uc791\uc5c5 \ud658\uacbd OS: ubuntu 22.04 ip address : 172.30.124.211 (\uc624\ub77c\ud074 \uc124\uce58\ub41c \uc11c\ubc84 \uc544\ub2d8) python: python3.10.12 oracle client: \uc124\uce58\ub428. django: 5.0.4 Oracle \ub370\uc774\ud130\ubca0\uc774\uc2a4 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243 * \uc8fc\uc758\uc0ac\ud56d cx_Oracle \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uba74 \uc624\ub77c\ud074 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5c6\uc774 \ud30c\uc774\uc36c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4. \ud558\uc9c0\ub9cc Django \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc624\ub77c\ud074 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub824\uba74, \uc624\ub77c\ud074 &hellip; Continue reading","og_url":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702","og_site_name":"Blog-boxcorea","article_published_time":"2024-04-28T04:54:01+00:00","author":"snowffox","twitter_card":"summary_large_image","twitter_misc":{"Written by":"snowffox","Est. reading time":"2\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#article","isPartOf":{"@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702"},"author":{"name":"snowffox","@id":"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a"},"headline":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30.","datePublished":"2024-04-28T04:54:01+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702"},"wordCount":74,"commentCount":0,"keywords":["cx-oracle","Django","grid","oracle","oracle19c","python","rac","\uc624\ub77c\ud074","\uc624\ub77c\ud07419c","\uc624\ub77c\ud074\uadf8\ub9ac\ub4dc","\uc7a5\uace0","\ud30c\uc774\uc36c"],"articleSection":["DATABASE","Python\/Django"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.boxcorea.com\/wp\/archives\/3702#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702","url":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702","name":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30. - Blog-boxcorea","isPartOf":{"@id":"https:\/\/blog.boxcorea.com\/wp\/#website"},"datePublished":"2024-04-28T04:54:01+00:00","author":{"@id":"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a"},"breadcrumb":{"@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.boxcorea.com\/wp\/archives\/3702"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.boxcorea.com\/wp\/archives\/3702#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.boxcorea.com\/wp"},{"@type":"ListItem","position":2,"name":"Ubuntu, python3+Django+Oracle19c(grid) \uc0ac\uc6a9\ud558\uae30."}]},{"@type":"WebSite","@id":"https:\/\/blog.boxcorea.com\/wp\/#website","url":"https:\/\/blog.boxcorea.com\/wp\/","name":"Blog-boxcorea","description":"Simple is Beautiful!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.boxcorea.com\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/blog.boxcorea.com\/wp\/#\/schema\/person\/6d8e12df2429d663a0a4e8362fbb650a","name":"snowffox","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c0787be58ea7e470b1a6f5ea8ce367c7913809648a00e0c15faace5220902ffb?s=96&d=retro&r=g","caption":"snowffox"},"url":"https:\/\/blog.boxcorea.com\/wp\/archives\/author\/admin"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4wGXL-XI","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/posts\/3702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/comments?post=3702"}],"version-history":[{"count":3,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/posts\/3702\/revisions"}],"predecessor-version":[{"id":3705,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/posts\/3702\/revisions\/3705"}],"wp:attachment":[{"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/media?parent=3702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/categories?post=3702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.boxcorea.com\/wp\/wp-json\/wp\/v2\/tags?post=3702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}