ODP.NETã®ãã¼ã¸ã§ã³åé¡
ã¯ããã«
ADO.NETã®Oracle製æ¥ç¶ãããã¤ãã§ããODP.NETã«ã¯ããã¼ã¸ã§ã³åé¡ãåå¨ãããããã§è¨ããã¼ã¸ã§ã³åé¡ã¨ã¯ãã¢ããªã±ã¼ã·ã§ã³ã®éçºè ãæå³ããªããã¼ã¸ã§ã³ã®ODP.NETããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡æã«ä½¿ç¨ããã¦ãã¾ããã¨ãæãã
æ¬ã¨ã³ããªã§ã¯ããã®åé¡ã®åå ã¨è§£æ±ºçï¼æ¡ï¼ãè¿°ã¹ãã
ãªããODP.NETã®ãã¼ã¸ã§ãã³ã°ä½ç³»ã«ã¤ãã¦ã¯ã『Oracle Data Provider for .NET開発者ガイド』の該当ページï¼ãªã³ã¯ã¯11gï¼ãåç §ããããã
åé¡ã®åå
ODP.NETã¨åæã«GACã«ã¤ã³ã¹ãã¼ã«ããã発行者ポリシー*1ã®ä»æ§*2ã«ãã£ã¦ããã¼ã¸ã§ã³åé¡ãçºçããã
.NETã®åºæ¬çãªãã¼ã¸ã§ã³ç®¡ç
.NETã§ã¯ãside-by-side実行ã¨å¼ã°ãããã¼ã¸ã§ã³ç®¡çãåºæ¬ã§ããããã®ä»çµã¿ã¯ã@ITの連載記事ã§ãããããã解説ããã¦ããã
ç°¡åã«è¨ãã¨ã.NETã¢ããªã±ã¼ã·ã§ã³ã¯ãã¢ããªã±ã¼ã·ã§ã³ããã«ãããéã«åç §ãã¦ãããã¼ã¸ã§ã³ã®ã¢ã»ã³ããªããå®è¡æã«ã使ãã¨ããä»çµã¿ã ããã®ä»çµã¿ã¯ãä¾ãã°ããã¢ããªã±ã¼ã·ã§ã³ãåç §ããã¢ã»ã³ããªã«ã¤ãã¦ãè¤æ°ã®ç°ãªããã¼ã¸ã§ã³ãã¢ããªã±ã¼ã·ã§ã³å®è¡æã«åç §å¯è½ãªå ´åã«æ´»ãããside-by-sideå®è¡ã«ãããã¢ããªã±ã¼ã·ã§ã³ãäºææ§ã®ãªãå¥ãã¼ã¸ã§ã³ã®ã¢ã»ã³ããªãåç §ãã¦ãã¾ã*3ãã¨ãé²ããã
çºè¡è ããªã·ã¼ã¨ã¯
çºè¡è ããªã·ã¼ã¨ã¯ãside-by-sideå®è¡ã®ååãå´©ãä»çµã¿ã§ãããçºè¡è ããªã·ã¼ã«ãããã¢ã»ã³ããªã®éçºè ããã¢ããªã±ã¼ã·ã§ã³ã®éçºè ãã¢ããªã±ã¼ã·ã§ã³ããã«ãããéã«åç §ãã¦ããã®ã¨ç°ãªããã¼ã¸ã§ã³ã®ã¢ã»ã³ããªããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡æã«åç §ããããã¨ãã§ããããã®ä»çµã¿ã¯ã@ITの連載記事ã§ãããããã解説ããã¦ããã
ãªããããªä»çµã¿ãå¿ è¦ãã¨è¨ãã¨ãã¢ã»ã³ããªéçºè ã®ãææ°ãã¼ã¸ã§ã³ã使ã£ã¦æ¬²ãããã¨ããå¸æãæºããããã ã
ããã¦ãOracleã¯ODP.NETã§ãã®ä»çµã¿ãå©ç¨ãã¦ãããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ãã·ã³ã«è¤æ°ãã¼ã¸ã§ã³ã®Oracle Clientãã¤ã³ã¹ãã¼ã«ãã¦ããå ´åãODP.NETã¯ãåºæ¬çã«ãäºææ§ã®ããææ°ãã¼ã¸ã§ã³ãåç §ãããããªãããåºæ¬çã«ãã強調ããããä¾å¤ãããããã ããã®ä¾å¤ã¯ãæªå¤¢ã§ããã
ODP.NETã®çºè¡è ããªã·ã¼
ãçºè¡è ããªã·ã¼ã¨ã¯ãã§èª¬æããã®ããODP.NETã®çºè¡è ããªã·ã¼ã®åºæ¬ã ããããããã®åºæ¬ã«åããä¾å¤ããæ°å¤ãããã®ãODP.NETã®ç¾å®ã ãä¸è¨ã§è¨ãã¨ãããã°ã¨ããè¨ããªãä»æ§ãçã沢山ãã§ããã
ãã®çµæã©ããªãããODP.NETã«ã¤ãã¦ã¯ã以ä¸ã®ã©ã¡ããæãç«ããªãããã·ã³ã«ã¤ã³ã¹ãã¼ã«ããã¦ããODP.NETã®ãã¼ã¸ã§ã³ã®çµã¿åããã«ãããã¢ããªã±ã¼ã·ã§ã³ããã©ã®ãã¼ã¸ã§ã³ã®ODP.NETãåç §ãããããå¤åããã
- 常ã«side-by-sideå®è¡
- 常ã«äºææ§ã®ããææ°ãã¼ã¸ã§ã³ãåç §ããã
çºè¡è ããªã·ã¼èªä½ã®ãã¼ã¸ã§ã³ã®åé¡
.NETã®ä»æ§ã§ãè¤æ°ãã¼ã¸ã§ã³ã®çºè¡è ããªã·ã¼ãGACã«ã¤ã³ã¹ãã¼ã«ããã¦ããå ´åãææ°ãã¼ã¸ã§ã³ãé©ç¨ãããããã®ä»æ§èªä½ã¯åé¡ãªãã®ã ããODP.NETã®çºè¡è ããªã·ã¼ã®ãã¼ã¸ã§ã³ã®ä»ãæ¹ã«åé¡ããããããã¯ã以ä¸ã®ãããªãã®ã§ããã
ODP.NETã®ãã¼ã¸ã§ã³ | ã¢ã»ã³ããªãã¼ã¸ã§ã³ | ã¢ã»ã³ããªãã¼ã¸ã§ã³ã®ä¾ |
10.2.0.2.20ããå | ODP.NETã®ãã¼ã¸ã§ã³ã¨åã | 10.2.0.100 |
10.2.0.2.20以é | ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã.NET Frameworkã®ãã®ã¨åã | 2.102.2.20 |
ãã¼ã¸ã§ã³ã®ä»ãæ¹ããã®ããã§ããããã10.2.0.2.20ããåã®çºè¡è ããªã·ã¼ï¼ãæ§çºè¡è ããªã·ã¼ãã¨ããï¼ãGACã«ã¤ã³ã¹ãã¼ã«ããã¦ããç¶æ ã§ã10.2.0.2.20以éã®ODP.NETï¼ãæ°ODP.NETãã¨ããï¼ãã¤ã³ã¹ãã¼ã«ãã¦ãã10.2.0.2.20以éã®ODP.NETã®çºè¡è ããªã·ã¼ã使ç¨ãããªããå½ç¶ãæ§çºè¡è ããªã·ã¼ã¯æ°ODP.NETãç¥ããªãã®ã§ãæ°ODP.NETã¸ã®ãªãã¤ã¬ã¯ãã¯è¡ãããªãããã®ç¶æ ãè±ããã«ã¯ãæ§çºè¡è ããªã·ã¼ãGACããæåã§ã¢ã³ã¤ã³ã¹ãã¼ã«ããå¿ è¦ãããã
GACã¸ã®ã¤ã³ã¹ãã¼ã«ã®åé¡
çºè¡è ããªã·ã¼ã¯åºæ¬çã«GACã«ã¤ã³ã¹ãã¼ã«ãããã®ã ãããããODP.NETã®çºè¡è ããªã·ã¼ã¯ãODP.NETã®ãã¼ã¸ã§ã³ã«ãã£ã¦ãèªåçã«GACã«ã¤ã³ã¹ãã¼ã«ãããããããªãã£ãããããçºè¡è ããªã·ã¼ãèªåã¤ã³ã¹ãã¼ã«ãããªããã¼ã¸ã§ã³ã使ãå ´åããã®çºè¡è ããªã·ã¼ãæå¹ã«ããããã«ã¯ãæåã§GACã«ã¤ã³ã¹ãã¼ã«ãããã¨ã«ãªãã
Oracle Clientã®ãã¼ã¸ã§ã³ | ODP.NETã®ãã¼ã¸ã§ã³*4 | çºè¡è ããªã·ã¼ã®GACã¸ã®èªåç»é² |
10.1.0.2 | 10.1.0.2 | |
10.2.0.1 | 10.2.0.1 | V |
ã¾ããODACï¼Oracle Data Access Componentsï¼*5ã«ã¤ãã¦ãåæ§ã§ããã
ODACã®ãã¼ã¸ã§ã³ | ODP.NETã®ãã¼ã¸ã§ã³*6 | çºè¡è ããªã·ã¼ã®GACã¸ã®èªåç»é² |
9.2.0.4 | 9.2.0.4.01 | V |
9.2.0.7 | 9.2.0.7 | V |
10.1.0.3 | 10.1.0.3.01 | V |
10.1.0.4 | 10.1.0.4 | V |
10.2.0.2.21 | 10.2.0.2.21 | |
11.1.0.6.21 | 11.1.0.6.20 |
解決çï¼æ¡ï¼
ä¿è¨¼ããªã
ã¾ã第ä¸ã«èãããã®ããè¤æ°ãã¼ã¸ã§ã³ã®Oracle Clientãã¤ã³ã¹ãã¼ã«ãããã·ã³ã§ã®åä½ãä¿è¨¼ããªãã¨ãããã¨ã ã
ã¨ã³ã¿ã¼ãã©ã¤ãºéçºã§ããã°ãã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ç°å¢ãéå®ã§ãããã¨ãå¤ãã¯ããªã®ã§ãä¸å¯è½ãªè§£æ±ºçã§ã¯ãªããããå®è¡ç°å¢ã®éå®ãã§ããªãã¦ãããåä½ä¿è¨¼ããããã«ã¯åä½æ¤è¨¼ãå¿ è¦ãªã®ã§åä½ä¿è¨¼ã¯ã§ããªãããOracle社ããåä½ããã¯ãã§ãããã¨ããè¦è§£ãªã®ã§ãåä½ãããã¯ãã§ããããã¨ãã£ããã¥ã¢ã³ã¹ãä¼ããã°ã顧客ã«èªããããå¯è½æ§ãããã
çºè¡è ããªã·ã¼ãç¡å¹ã«ãã
ã¢ããªã±ã¼ã·ã§ã³æ§æãã¡ã¤ã«ã§ãçºè¡è ããªã·ã¼ãç¡å¹ã«ã§ããã®ã§ããããå©ç¨ããã¨ããæããããããã¯æ¶æ¥µç解決çã¨è¨ããããéçºãµã¤ãã®ç«å ´ãå¼±ã*7ãã¨ãåæã«ãã解決çã ããã ã
ãã®æ¹æ³ã«ã¤ãã¦ã¯ããアセンブリ バージョンのリダイレクトãï¼MSDNï¼ã®ãçºè¡è ããªã·ã¼ã®çç¥ãã«èª¬æãããæ§æãã¡ã¤ã«å ã§ã®ã¢ã»ã³ã㪠ãã¤ã³ãã£ã³ã°ã®æå®ãã«ä¾ã示ããã¦ããã念ã®ããã以ä¸ã«ç°¡åãªãµã³ãã«ã示ãã
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <asm:assemblyBinding xmlns:asm="urn:schemas-microsoft-com:asm.v1"> <asm:dependentAssembly> <asm:assemblyIdentity name="Oracle.DataAccess" culture="neutral" publicKeyToken="89b483f429c47342"/> <!--ãã¼ã¸ã§ã³ãªãã¤ã¬ã¯ããæå¹ã«ããã«ã¯ããã®è¦ç´ ã®applyå±æ§ãyesã«ãã--> <asm:publisherPolicy apply="no"/> </asm:dependentAssembly> </asm:assemblyBinding> </runtime> </configuration>
ãã®ä»ã®æ å ±
以ä¸ã«ãODP.NETã®ãã¼ã¸ã§ã³ã«é¢ä¿ããããã®ä»ã®æ å ±ã示ãã¦ããã
ODP.NETã®ã¢ã»ã³ããªãã¼ã¸ã§ã³ã¢ãã
ODP.NETã®ã¢ã»ã³ããªãã¼ã¸ã§ã³ã¯ãOracle Clientã®ãã¼ã¸ã§ã³ãå°ãã§ãéãã°ååç°ãªããPSRãPatchXãªã©*8ã®ãããé©ç¨ã§ãå¤ããã
ODP.NETèªä½ã®GACã¸ã®ç»é²
ODP.NETèªä½*9ã¯ãå¿ ãGACã«èªåç»é²ãããããã ããODP.NET 10.2.0.2.20ã®.NET 2.0以éç¨ã¢ã»ã³ããªï¼2.102.2.20ï¼ã¯ãä¸å ·åã«ããGACã«èªåç»é²ãããªãã¨ããå ±åããããããèªåç»é²ãããªãã£ãããæåã§ç»é²ãããã¨ã«ãªãã
è¤æ°ãã¼ã¸ã§ã³ã¸ã®å¯¾å¿
ããããã1å°ã®ãã·ã³ã«è¤æ°ãã¼ã¸ã§ã³ã®ODP.NETãã¤ã³ã¹ãã¼ã«ããã¦ããç¶æ ã§ã®åä½ãä¿è¨¼ããã¦ããã®ã¯ã10.1.0.3.01以éã§ãããããããå¤ããã¼ã¸ã§ã³ã®ODP.NETã¯ãåä½ä¿è¨¼ããã¦ããªãã
ãã ããåä½ä¿è¨¼ãã¦ããã«ãé¢ãããçºè¡è ããªã·ã¼ã«ã¾ã¤ããæ°ã ã®åé¡ãããã®ã¯ãåè¿°ã®ã¨ããã§ãããããã§ãããåä½ä¿è¨¼ãã¨ã¯ãOracle Clientãå¥ã ã®ORACLE_HOMEã«ã¤ã³ã¹ãã¼ã«ããããã¨ãæãã¦ããããã«æããã
*1:ãã®æè¨ã¯Microsoftã®æ¥æ¬èªãOracleã®æ¥æ¬èªã§ã¯ããããªãã·ã£ã»ããªã·ã¼ããMicrosoftã®è±èªã§ã¯ãPublisher Policyãã¨ãªã
*2:Oracleå´ããããã°ãããã¾ã§ãä»æ§ãã§ãã
*3:ããã¦ãéçºç°å¢ã§åç¾ããªãã¨ã©ã¼ãèµ·ãã
*4:ã¢ã»ã³ããªãã¼ã¸ã§ã³ã§ã¯ãªã
*5:Oracle Clientã¨ã®éãã¯ä½ã ããï¼ãããã«ããâ¦
*6:ã¢ã»ã³ããªãã¼ã¸ã§ã³ã§ã¯ãªã
*7:顧客ã«æ¡ä»¶ãå¼·ãããã¨ãã§ããªã
*8:ãããä½ãªã®ãã詳ããã¯ç¥ããªãã
*9:çºè¡è ããªã·ã¼ã§ã¯ãªããã¨ããæå³ã§ãèªä½ã