{"id":10643,"date":"2021-11-22T14:32:25","date_gmt":"2021-11-22T05:32:25","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/?p=10643"},"modified":"2021-11-22T14:59:20","modified_gmt":"2021-11-22T05:59:20","slug":"oracle-database-21c-%e3%81%a7-linq-%e3%82%92%e4%bd%bf%e3%81%86%e6%ba%96%e5%82%99","status":"publish","type":"post","link":"https:\/\/www.moonmile.net\/blog\/archives\/10643","title":{"rendered":"Oracle Database 21c \u3067 LINQ \u3092\u4f7f\u3046\u6e96\u5099"},"content":{"rendered":"\n<p>Hyper-V \u306e Windows Server \u306b Oracle 21c \u3092\u5165\u308c\u3066\u3001LINQ \u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u306e\u30e1\u30e2\u66f8\u304d\u3067\u3059\u3002<\/p>\n\n\n\n<p>Oracle\u306f 11g \u4ee5\u6765\uff08\u5b9f\u52d9\u3060\u30689i \u3042\u305f\u308a\u304b\uff09\u306a\u306e\u3067\u3001\u9014\u4e2d\u306b\u304b\u306a\u308a\u9593\u304c\u3042\u3044\u3066\u3044\u307e\u3059\u304c\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u304b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210\u3068\u304b\u843d\u3068\u3057\u7a74\u7684\u306a\u3068\u3053\u308d\u306f\u4ee5\u524d\u3068\u5909\u308f\u3089\u305a\u3002\u3061\u306a\u307f\u306b\u3001Java \u3067\u4f5c\u3063\u3066\u3042\u308b\u8d85\u9045\u3044\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u306f 21c \u304b\u3089\u629c\u7fa4\u306b\u65e9\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u5e73\u884c\u3057\u3066\u8a66\u3057\u305f 19c \u3060\u3068\u9045\u3044\u307e\u307e\u306a\u306e\u3067\u3001\u304a\u305d\u3089\u304f 21c \u304b\u3089\u6700\u9069\u3055\u308c\u3066\u3044\u305f\u6a21\u69d8\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u304a\u305d\u3089\u304f\u304a\u624b\u8efd\u306a\u306e\u306f\u3001Oracle Cloud \u3092\u4f7f\u3046\u3088\u3046\u306a\u306e\u3067\u3059\u304c\u3001\u4eca\u56de\u306f\u8a33\u3042\u3063\u3066\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u306a\u74b0\u5883\u3067\u30c6\u30b9\u30c8\u3092\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4eee\u60f3\u74b0\u5883\u306e\u69cb\u7bc9<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Hyper-V \u4e0a\u306b Windows Server 2022 \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li><li>\u30e1\u30e2\u30ea\u3092 8GB\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u3092 64GB \u5272\u308a\u5f53\u3066<\/li><li>\u30b9\u30c8\u30ec\u30fc\u30b8\u306f\u3001\u30db\u30b9\u30c8\u306e SSD \u4e0a\u306b\u4f5c\u6210\u3059\u308b\uff08\u30b9\u30d4\u30fc\u30c9\u304c2\u500d\u4f4d\u9055\u3044\u307e\u3059\uff09<\/li><\/ul>\n\n\n\n<p>\u52d5\u304b\u3057\u3066\u307f\u308b\u3068\u5e38\u6642 5GB \u7a0b\u5ea6\u306e\u30e1\u30e2\u30ea\u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067\u30018GB \u7a0b\u5ea6\u306b\u3059\u308b\u307b\u3046\u304c\u3088\u3055\u305d\u3046\u3067\u3059\u3002\u305f\u3060\u3057\u3001Oracle 21c \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b\u300c\u30e1\u30e2\u30ea\u304c\u8db3\u308a\u306a\u3044\u3051\u3069\u7d9a\u884c\u3059\u308b\u304b\uff1f\u300d\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u51fa\u308b\u306e\u3067\u3001\u4f59\u88d5\u304c\u3042\u308c\u3070 16GB \u7a0b\u5ea6\u5272\u308a\u5f53\u3066\u305f\u307b\u3046\u304c\u3088\u3055\u305d\u3046\u3002\u304c\u3001\u5b9f\u969b\u306e\u3068\u3053\u308d\u3001\u4eee\u60f3\u74b0\u5883\u306b 16GB \u5272\u308a\u5f53\u3066\u308b\u306e\u306f\u96e3\u3057\u305d\u3046\u306a\u306e\u3067\u30018GB \u5272\u308a\u5f53\u3066\u307e\u3059\u3002<\/p>\n\n\n\n<p>Azure \u306a\u3069\u306e\u30af\u30e9\u30a6\u30c9\u4e0a\u3067 Windows Server \u3092\u69cb\u7bc9\u3059\u308b\u5834\u5408\u3001\u30e1\u30e2\u30ea\u304c 8GB \u306b\u306a\u308b\u3068\u7d50\u69cb\u306a\u8ab2\u91d1\u304c\u767a\u751f\u3059\u308b\u306e\u3067\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u30024GB \u3060\u3068\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b\u7d50\u69cb\u8f9b\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>\u8a66\u9a13\u74b0\u5883\u3067\u306e\u5b9f\u9a13\u306a\u306e\u3067\u3001Express \u3067\u306f\u306a\u304f\u672c\u5bb6\u306e\u3082\u306e\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>Oracle Database 21c Download for Microsoft Windows x64 <a href=\"https:\/\/www.oracle.com\/database\/technologies\/oracle21c-windows-downloads.html\">https:\/\/www.oracle.com\/database\/technologies\/oracle21c-windows-downloads.html<\/a><\/p>\n\n\n\n<p>\u4ee5\u524d\u306f\u88fd\u54c1\u7248\u3092\u4f7f\u3046\u3068\u30e9\u30a4\u30bb\u30f3\u30b9\u30b5\u30fc\u30d0\u30fc\u3092\u5fc5\u8981\u3068\u3057\u3066\u3044\u305f\u306e\u3067\u3059\u304c\u3001\u4eca\u306f\u3069\u3046\u306a\u306e\u3060\u308d\u3046\uff1f<\/p>\n\n\n\n<p>.NET6 \u306e\u74b0\u5883\u69cb\u7bc9\u306e\u305f\u3081\u306e Visual Studio 2022 \u3092\u5165\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>Visual Studio 2022 \u30b3\u30df\u30e5\u30cb\u30c6\u30a3 \u30a8\u30c7\u30a3\u30b7\u30e7\u30f3 \u2013 \u6700\u65b0\u306e\u7121\u6599\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b <a href=\"https:\/\/visualstudio.microsoft.com\/ja\/vs\/community\/\">https:\/\/visualstudio.microsoft.com\/ja\/vs\/community\/<\/a><\/p>\n\n\n\n<p>dotnet &amp; Visual Studio Code \u3067\u8efd\u91cf\u5316\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u304c\u3001NuGet \u306e\u6271\u3044\u3068\u304b\u30c7\u30d0\u30c3\u30b0\u51fa\u529b\u3068\u304b\u306e\u6271\u3044\u3067\u9762\u5012\u304c\u306a\u3044\u306e\u3067 VS2022 \u3092\u5165\u308c\u3066\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Oracle Database 21c \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u521d\u671f\u8a2d\u5b9a<\/h2>\n\n\n\n<p>\u5b9f\u306f\u3001Oracle 21c \u304b\u3089\u30d7\u30e9\u30ab\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5fc5\u9808\u306b\u306a\u308a\u307e\u3057\u305f\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306e\u9078\u629e\u306b\u975ePDB\u306e\u9078\u629e\u80a2\u304c\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>CDB\uff1a\u30b3\u30f3\u30c6\u30ca\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9<\/li><li>PDB\uff1a\u30d7\u30e9\u30ab\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9<\/li><\/ul>\n\n\n\n<p>Oracle \u306e\u5834\u5408\u3001\u300c\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u300d\u3068\u3044\u3046\u540d\u306e\u4ed8\u304f\u3082\u306e\u304c\u8272\u3005\u3042\u3063\u3066\u7d50\u69cb\u3084\u3084\u3053\u3057\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p>SQL Server \u306e\u5834\u5408\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9 \uff1e \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 \uff1e\u30c6\u30fc\u30d6\u30eb\u306e\u3088\u3046\u306b\u6bd4\u8f03\u7684\u5358\u7d14\u306a\u306e\u3067\u3059\u304c\u3001<\/p>\n\n\n\n<p>Oracle \u306e\u5834\u5408\u3001\u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff08\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\uff09\uff1e\u30b3\u30f3\u30c6\u30ca\uff08\u30b3\u30f3\u30c6\u30ca\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff09\uff1e\u30d7\u30e9\u30ab\u30d6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1e\u30c6\u30fc\u30d6\u30eb \u3068\u3044\u3046\u5f62\u3067\u3001\u3044\u305f\u308b\u3068\u3053\u308d\u3067\u300c\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u300d\u304c\u51fa\u3066\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4ee5\u524d\u3001\u3042\u3063\u305f\u30c6\u30fc\u30d6\u30eb\u30b9\u30da\u30fc\u30b9\uff08\u8868\u9818\u57df\uff09\u306f\u3069\u3053\u306b\u3044\u3063\u305f\u306e\u3067\u3057\u3087\u3046\uff1f\u3068\u3044\u3046\u7591\u554f\u304c\u3042\u308b\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u306f\u5f8c\u3067\u8abf\u3079\u307e\u3059\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff08\u30d7\u30e9\u30ab\u30d6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff09\u3092\u4f5c\u308a\u9650\u308a\u3001\u5f93\u6765\u901a\u308a\u306e TABLESPACE \u3082\u4f7f\u3048\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306b\u300c\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u307f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u300d\u306b\u3057\u3066\u3001\u3042\u3068\u304b\u3089\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1aorcl.mshome.net<\/li><li>\u30d7\u30e9\u30ab\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1aorcldb<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>sqlplus \/ as sysdb \u3067\u3001\u6b21\u306e\u72b6\u614b\u307e\u3067\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"662\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4-1024x662.png\" alt=\"\" class=\"wp-image-10644\" srcset=\"https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4-1024x662.png 1024w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4-300x194.png 300w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4-768x497.png 768w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4-1536x993.png 1536w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-4.png 1636w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">ORALCE_BASE \u3068 ORACLE_HOME<\/h3>\n\n\n\n<p>ORACLE_BASE \u3092 c:\\app\\oracle \u306b\u3057\u3066\u4f5c\u6210\u3057\u305f\u306e\u3067\u3059\u304c\u3001tnsnames.ora \u7b49\u306e\u30d5\u30a1\u30a4\u30eb\u4f4d\u7f6e\u304c 19c \u3068 21c \u3067\u306f\u7570\u306a\u3063\u3066\u3044\u307e\u3059\u3002ORACLE_HOME \u306b\u4e0b\u306b\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>tnsnames.ora \u7b49\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4ee5\u4e0b\u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>C:\\app\\oracle\\homes\\OraDB21Home1\\network\\admin<\/p>\n\n\n\n<p>\u3069\u3046\u3084\u3089\u3001$ORACLE_BASE\/homes \u914d\u4e0b\u306b\u4f5c\u6210\u3055\u308c\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u4f8b\u3067\u306f\u3001<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30db\u30b9\u30c8\u540d\uff1aoracle21sv<\/li><li>Oracle \u3067\u8a2d\u5b9a\u3055\u308c\u308b\uff1f\u30b5\u30fc\u30d0\u30fc\u540d\uff1aoracle21sv.mshome.net<\/li><li>\u30b5\u30fc\u30d3\u30b9\u540d\uff1aorcldb.mshome.net<\/li><li>\u30b7\u30b9\u30c6\u30e0\u8b58\u5225\u5b50\uff08SID\uff09\uff1aORCL<\/li><\/ul>\n\n\n\n<p>\u3068\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">listener.ora<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># listener.ora Network Configuration File: C:\\app\\oracle\\homes\\OraDB21Home1\\NETWORK\\ADMIN\\listener.ora\n# Generated by Oracle configuration tools.\n\nSID_LIST_LISTENER =\n  (SID_LIST =\n    (SID_DESC =\n      (SID_NAME = CLRExtProc)\n      (ORACLE_HOME = C:\\app\\oracle\\product\\21.3.0\\dbhome_1)\n      (PROGRAM = extproc)\n      (ENVS = &quot;EXTPROC_DLLS=ONLY:C:\\app\\oracle\\product\\21.3.0\\dbhome_1\\bin\\oraclr.dll&quot;)\n    )\n  )\n\nLISTENER =\n  (DESCRIPTION_LIST =\n    (DESCRIPTION =\n      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle21sv.mshome.net)(PORT = 1521))\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))\n    )\n  )\n\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">tnsnames.ora<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code># tnsnames.ora Network Configuration File: C:\\app\\oracle\\homes\\OraDB21Home1\\NETWORK\\ADMIN\\tnsnames.ora\n# Generated by Oracle configuration tools.\n\nORACLR_CONNECTION_DATA =\n  (DESCRIPTION =\n    (ADDRESS_LIST =\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))\n    )\n    (CONNECT_DATA =\n      (SID = CLRExtProc)\n      (PRESENTATION = RO)\n    )\n  )\n\nORCL =\n  (DESCRIPTION =\n    (ADDRESS_LIST =\n      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))\n    )\n    (CONNECT_DATA =\n      (SERVICE_NAME = orcldb.mshome.net)\n    )\n  )\n<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u306e\u3042\u305f\u308a\u306e\u8a2d\u5b9a\u304c\u3084\u3084\u3053\u3057\u3044\u306e\u3067\u3001<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>lsnrctl status<\/li><li>tnsping \uff1c\u30b7\u30b9\u30c6\u30e0\u8b58\u5225\u5b50\uff08SID\uff09\uff1e<\/li><\/ul>\n\n\n\n<p>\u3092\u6d3b\u7528\u3057\u3066\u4e8b\u524d\u306b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"987\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5-1024x987.png\" alt=\"\" class=\"wp-image-10645\" srcset=\"https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5-1024x987.png 1024w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5-300x289.png 300w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5-768x740.png 768w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-5.png 1531w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>\u3046\u307e\u304f TNS \u306e\u8a2d\u5b9a\u304c\u3067\u304d\u3066\u3044\u308c\u3070 tnsping orcl \u304c\u3067 tnsnames.ora \u306e\u8a2d\u5b9a\u304c\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/figcaption><\/figure>\n\n\n\n<p>\u78ba\u304b\u3001 listener.ora \u3068  tnsnames.ora  \u3092\u624b\u4f5c\u696d\u3067\u4fee\u6b63\u3057\u305f\u5834\u5408\u306f\u3001lsnrctl \u3092\u518d\u8d77\u52d5\u3055\u305b\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>lsnrctl start<\/li><li>lsnrctl stop<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u4f5c\u6210<\/h2>\n\n\n\n<p>\u6614\u306a\u304c\u3089\u306e\u30c6\u30fc\u30d6\u30eb\u30b9\u30da\u30fc\u30b9\u3092\u4f7f\u3063\u305f\u65b9\u5f0f\u3067\u3059\u3002\u3053\u308c\u3044\u3044\u304b\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3001\u3053\u308c\u306f\u5f8c\u3067\u4fee\u6b63\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>CREATE TABLESPACE REDMINETS DATAFILE \n &#39;C:\\app\\oracle\\oradata\\ORCL\\DATAFILE\\REDMINETS.dbf&#39; \n  SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;\n\nCREATE USER redmine IDENTIFIED BY redmine \n  DEFAULT TABLESPACE REDMINETS \n  TEMPORARY TABLESPACE TEMP \n  ACCOUNT UNLOCK ;\n\nGRANT UNLIMITED TABLESPACE TO redmine;\nGRANT CREATE SESSION TO redmine;\nGRANT CONNECT TO redmine;\nGRANT RESOURCE TO redmine;\nALTER USER &quot;REDMINE&quot; DEFAULT ROLE ALL;\n<\/code><\/pre><\/div>\n\n\n\n<p>redmine \u3068\u3044\u3046\u540d\u524d\u3067\u30e6\u30fc\u30b6\u30fc\u3092\u4f5c\u6210\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u8868\u9818\u57df REDMINETS<\/li><li>\u30e6\u30fc\u30b6\u30fc\u540d redmine\uff08\u5185\u90e8\u3067\u306f\u81ea\u52d5\u7684\u306b\u5927\u6587\u5b57\u306b\u306a\u308b\u306e\u3067\u3001\u6b63\u78ba\u306b\u306f REDMINE \u3067\u3059\uff09<\/li><li>\u30d1\u30b9\u30ef\u30fc\u30c9 redmine<\/li><\/ul>\n\n\n\n<p>\u6a29\u9650\u304c\u5c11\u3057\u904e\u5270\u3067\u3059\u304c\u3001\u3072\u3068\u307e\u305a\u3053\u308c\u3067 Ok \u3067\u3059\u3002\u3053\u306e\u4f7f\u3044\u65b9\u306f\u3001\u3044\u307e\u3068\u306a\u3063\u3066\u306f\u5c11\u3057\u30a4\u30ea\u30fc\u30ac\u30eb\u306a\u306e\u3067\u3001\u30d7\u30e9\u30ab\u30d6\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f7f\u3063\u305f\u65b9\u5f0f\u306b\u76f4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u72b6\u614b\u3067\u3001sqlplus \u3067\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>sqlplus redmine\/redmine@orcl<\/code><\/pre><\/div>\n\n\n\n<p>\u6700\u5f8c\u306e orcl \u306f\u3001tnsnames.ora \u306b\u8a2d\u5b9a\u3057\u305f\u30b7\u30b9\u30c6\u30e0\u8b58\u5225\u5b50\uff08SID\uff09\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>tnsnames.ora \u304c\u9593\u9055\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u300cORA-12154: TNS: \u6307\u5b9a\u3055\u308c\u305f\u63a5\u7d9a\u8b58\u5225\u5b50\u3092\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u300d\u306e\u30a8\u30e9\u30fc\u304c\u3067\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"259\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6-1024x259.png\" alt=\"\" class=\"wp-image-10646\" srcset=\"https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6-1024x259.png 1024w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6-300x76.png 300w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6-768x194.png 768w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-6.png 1514w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u540d\u3042\u308b\u3044\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u300cORA-01017: invalid username\/password; logon denied\u300d\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u307b\u304b\u306b\u3082\u3001\u30b5\u30fc\u30d3\u30b9\u540d\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u3001\u30b5\u30fc\u30d0\u30fc\u540d\u304c\u9593\u9055\u3063\u3066\u3044\u308b\u3001\u5834\u5408\u3082\u3042\u308b\u306e\u3067\u3001lsnrctl status \u3068 tnsping \u3092\u4f7f\u3063\u3066\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30c6\u30fc\u30d6\u30eb\u306e\u4f5c\u6210<\/h2>\n\n\n\n<p>\u30c6\u30b9\u30c8\u7528\u306e Books \u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>create table books (\n  id number(16) not null,\n  title varchar2(20),\n  author varchar2(20),\n  publisher varchar2(20)\n);<\/code><\/pre><\/div>\n\n\n\n<p>\u4eee\u30c7\u30fc\u30bf\u306e\u633f\u5165<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-sql\" data-lang=\"SQL\"><code>insert into books values ( 1, &#39;Oracle\u5165\u9580&#39;, &#39;A&#39;, &#39;\u51fa\u7248\u793e&#39; );\ninsert into books values ( 2, &#39;SQL Server\u5165\u9580&#39;, &#39;B&#39;, &#39;\u51fa\u7248\u793e&#39; );\ninsert into books values ( 3, &#39;MySQL\u5165\u9580&#39;, &#39;A&#39;, &#39;\u540c\u4eba\u8a8c&#39; );<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u30c6\u30b9\u30c8\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210<\/h2>\n\n\n\n<p>\u63a5\u7d9a\u78ba\u8a8d\u3092\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>dotnet new console --name DbConnectSample<\/code><\/pre><\/div>\n\n\n\n<p>NuGet\u3067\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u8ffd\u52a0<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Microsoft.EntityFrameworkCore<\/li><li>Oracle.EntityFrameworkCore ODP.NET EF Core<\/li><li>Oracle.ManagedDataAccess.Core ODP.NET Core<\/li><\/ul>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code>&lt;Project Sdk=&quot;Microsoft.NET.Sdk&quot;&gt;\n  &lt;PropertyGroup&gt;\n    &lt;OutputType&gt;Exe&lt;\/OutputType&gt;\n    &lt;TargetFramework&gt;net6.0&lt;\/TargetFramework&gt;\n    &lt;ImplicitUsings&gt;enable&lt;\/ImplicitUsings&gt;\n    &lt;Nullable&gt;enable&lt;\/Nullable&gt;\n  &lt;\/PropertyGroup&gt;\n\t&lt;ItemGroup&gt;\n\t\t&lt;PackageReference Include=&quot;Microsoft.EntityFrameworkCore&quot; Version=&quot;5.0.12&quot; \/&gt;\n\t\t&lt;PackageReference Include=&quot;Oracle.EntityFrameworkCore&quot; Version=&quot;5.21.4&quot; \/&gt;\n\t\t&lt;PackageReference Include=&quot;Oracle.ManagedDataAccess.Core&quot; Version=&quot;3.21.4&quot; \/&gt;\n\t&lt;\/ItemGroup&gt;\n&lt;\/Project&gt;\n<\/code><\/pre><\/div>\n\n\n\n<p>Oracle.EntityFrameworkCore \u3068 Microsoft.EntityFrameworkCore \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092 5 \u3067\u63c3\u3048\u3066\u304a\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u73fe\u6642\u70b9\u3067\u306f\u3001 Oracle.EntityFrameworkCore  \u306f EF Core 5 \u307e\u3067\u3057\u304b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u3002<\/p>\n\n\n\n<p>Oracle.ManagedDataAccess.Core \u306f Oracle \u3078\u306e\u63a5\u7d9a\u306e\u305f\u3081\u306b\u4f7f\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5b9f\u9a13\u30b3\u30fc\u30c9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\"><code>using System.ComponentModel.DataAnnotations;\nusing System.ComponentModel.DataAnnotations.Schema;\nusing Microsoft.EntityFrameworkCore;\nusing Oracle.ManagedDataAccess.Client;\n\nConsole.WriteLine(&quot;Hello, Oracle World!&quot;);\nConsole.WriteLine(&quot;use DbContext&quot;);\nvar db = new OracleDbContext();\nvar items = db.Books.ToList();\nforeach (var it in items)\n{\n    Console.WriteLine($&quot;{it.ID} {it.TITLE}&quot;);\n}\n\npublic class OracleDbContext : DbContext\n{\n    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)\n    {\n        var builder = new OracleConnectionStringBuilder();\n        builder.UserID = &quot;redmine&quot;;\n        builder.Password = &quot;redmine&quot;;\n        builder.TnsAdmin = @&quot;C:\\app\\oracle\\homes\\OraDB21Home1\\network\\admin&quot;;\n        builder.DataSource = &quot;ORCL&quot;;\n        string cnstr = builder.ConnectionString;\n        optionsBuilder.UseOracle(cnstr);\n    }\n    public DbSet&lt;BOOKS&gt; Books =&gt; Set&lt;BOOKS&gt;();\n}\n\n\/*\nSQL&gt; desc books ;\n \u540d\u524d                                                  NULL?    \u578b\n ----------------------------------------------------- -------- ------------------------------------\n ID                                        NOT NULL NUMBER(16)\n TITLE                                              VARCHAR2(20)\n AUTHOR                                             VARCHAR2(20)\n PUBLISHER                                          VARCHAR2(20)\n \n *\/\n[Table(&quot;BOOKS&quot;)]    \/\/ \u3053\u308c\u304c\u5fc5\u9808\npublic class BOOKS\n{\n    [Key]\n    public Int64 ID { get; set; }\n    public string TITLE { get; set; } = &quot;&quot;;\n    public string AUTHOR { get; set; } = &quot;&quot;;\n    public string PUBLISHER { get; set; } = &quot;&quot;;\n}<\/code><\/pre><\/div>\n\n\n\n<p>Oracle \u306e\u307b\u3046\u3067\u306f\u30c6\u30fc\u30d6\u30eb\u540d\u3084\u30ab\u30e9\u30e0\u540d\u3092\u5927\u6587\u5b57\u3067\u4fdd\u6301\u3057\u3066\u3044\u308b\u3088\u3046\u306a\u306e\u3067\u3001\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u30af\u30e9\u30b9\u306e\u307b\u3046\u3082\u5927\u6587\u5b57\u306b\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30c6\u30fc\u30d6\u30eb\u540d\u306f\u306a\u305c\u304b\u305d\u306e\u307e\u307e\u3067\u306f\u8a8d\u8b58\u3067\u304d\u305a Table \u5c5e\u6027\u3067\u6307\u5b9a\u3057\u307e\u3059\uff08\u304a\u305d\u3089\u304f ODP.NET EF Core \u306e\u307b\u3046\u306e\u4e0d\u5177\u5408\u3088\u3046\u306a\u6c17\u3082\uff09\u3002<\/p>\n\n\n\n<p>\u5b9f\u884c\u7d50\u679c<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"517\" height=\"239\" src=\"http:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-7.png\" alt=\"\" class=\"wp-image-10647\" srcset=\"https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-7.png 517w, https:\/\/www.moonmile.net\/blog\/wp-content\/uploads\/2021\/11\/image-7-300x139.png 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/a><\/figure>\n\n\n\n<p>\u5927\u6587\u5b57\u306e\u307e\u307e\u6271\u3063\u3066\u3082\u3088\u3044\u306e\u3067\u3059\u304c\u3001C# \u306e\u547d\u540d\u898f\u7d04\u4e0a\u306e\u3061\u306e\u3061\u3084\u3084\u3053\u3057\u3044\u3053\u3068\u306b\u306a\u308b\u306e\u3067\u3001Column \u5c5e\u6027\u3067\u5909\u66f4\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-csharp\" data-lang=\"C#\"><code>[Table(&quot;BOOKS&quot;)]\npublic class Books\n{\n    [Key]\n    [Column(&quot;ID&quot;)] public Int64 Id { get; set; }\n    [Column(&quot;TITLE&quot;)] public string Title { get; set; } = &quot;&quot;;\n    [Column(&quot;AUTHOR&quot;)] public string Author { get; set; } = &quot;&quot;;\n    [Column(&quot;PUBLISHER&quot;)] public string Publisher { get; set; } = &quot;&quot;;\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u3053\u308c\u3067\u3046\u307e\u304fC#\u306e\u547d\u540d\u898f\u5247\u306b\u3042\u308f\u305b\u3089\u308c\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hyper-V \u306e Windows Server \u306b Oracle 21c \u3092\u5165\u308c\u3066\u3001LINQ \u304c\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u306e\u30e1\u30e2\u66f8\u304d\u3067\u3059\u3002 Oracle\u306f 11g \u4ee5\u6765\uff08\u5b9f\u52d9\u3060\u30689i \u3042\u305f\u308a\u304b\uff09\u306a\u306e\u3067\u3001\u9014\u4e2d\u306b\u304b\u306a\u308a\u9593\u304c &hellip; <a href=\"https:\/\/www.moonmile.net\/blog\/archives\/10643\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-10643","post","type-post","status-publish","format-standard","hentry","category-dev"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/10643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=10643"}],"version-history":[{"count":5,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/10643\/revisions"}],"predecessor-version":[{"id":10652,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/10643\/revisions\/10652"}],"wp:attachment":[{"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=10643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=10643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=10643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}