PK
u
OAoa«, mimetypeapplication/epub+zipPK u
OA iTunesMetadata.plist›dû
ã“ã®ç« ã®å†…容ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚
.NET Frameworkを使用ã—ãŸã‚°ãƒãƒ¼ãƒãƒ«ãƒ»ã‚¢ãƒ—リケーションã®é–‹ç™º
Oracle Data Provider for .NETã§ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ»ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ã®ã‚µãƒãƒ¼ãƒˆ
å‚ç…§:
|
ã“ã®ç« ã§ã¯ã€.NETã§ã®Oracle Databaseを使用ã™ã‚‹ã‚°ãƒãƒ¼ãƒãƒ«ãƒ»ã‚¢ãƒ—リケーションã®é–‹ç™ºã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ã“ã“ã§ã¯ã€ãƒã‚±ãƒ¼ãƒ«èªè˜ã®é–‹ç™ºã‚„ユーザーã®ãƒã‚±ãƒ¼ãƒ«ã«ã‚ˆã‚‹æ–‡åŒ–çš„ãªè¡¨è¨˜è¦å‰‡ã‚’使用ã—ãŸãƒ‡ãƒ¼ã‚¿è¡¨ç¤ºãªã©ã€ã‚°ãƒãƒ¼ãƒãƒ«ã«ãƒ‡ãƒ—ãƒã‚¤ã§ãるアプリケーションを開発ã™ã‚‹ãŸã‚ã®åŸºæœ¬çš„ãªã‚¿ã‚¹ã‚¯ã‚’扱ã„ã¾ã™ã€‚ã¾ãŸã€Oracle Data Provider for .NETã§ä½¿ç”¨ã§ãã‚‹ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ã‚µãƒãƒ¼ãƒˆæ©Ÿèƒ½ã«ã¤ã„ã¦ã‚‚説明ã—ã¾ã™ã€‚
様々ãªãƒã‚±ãƒ¼ãƒ«ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ã‚°ãƒãƒ¼ãƒãƒ«å¯¾å¿œã‚¢ãƒ—リケーションを作æˆã™ã‚‹ã«ã¯ã€æ£ã—ã„é–‹ç™ºæ‰‹é †ãŒå¿…è¦ã§ã™ã€‚
ãƒã‚±ãƒ¼ãƒ«ã¨ã¯ã€å„国語ãŠã‚ˆã³ãã®è¨€èªžãŒè©±ã•ã‚Œã¦ã„る地域をæ„味ã—ã¾ã™ã€‚アプリケーション自体ã§ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒã‚±ãƒ¼ãƒ«ãƒ»ãƒ—リファレンスをèªè˜ã—ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœŸå¾…ã™ã‚‹æ–‡åŒ–çš„ãªè¡¨è¨˜è¦å‰‡ã«å¾“ã£ã¦ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を表示ã§ãã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚æ£ã—ã„日付書å¼ã‚„数値書å¼ãªã©ã€è©²å½“ã™ã‚‹ãƒã‚±ãƒ¼ãƒ«ã®ç‰¹æ€§ã‚’使用ã—ã¦ãƒ‡ãƒ¼ã‚¿ã‚’表示ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚Oracle Databaseã¯å®Œå…¨ã«å›½éš›åŒ–ã•ã‚Œã¦ãŠã‚Šã€ã‚°ãƒãƒ¼ãƒãƒ«ãƒ»ã‚¢ãƒ—リケーションã®é–‹ç™ºãŠã‚ˆã³ãƒ‡ãƒ—ãƒã‚¤ã«å¯¾å¿œã—ãŸã‚°ãƒãƒ¼ãƒãƒ«ãƒ»ãƒ—ラットフォームをæä¾›ã—ã¦ã„ã¾ã™ã€‚
ã‚°ãƒãƒ¼ãƒãƒ«å¯¾å¿œã‚¢ãƒ—リケーションを計画ã™ã‚‹éš›ã«ã¯ã€æ¬¡ã®2ã¤ã®ä¸»ãªã‚¿ã‚¹ã‚¯ã‚’考ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã€æ§˜ã€…ãªæ–‡åŒ–ã«é©å¿œã§ãるアプリケーションをè¨è¨ˆã™ã‚‹ãƒ—ãƒã‚»ã‚¹ã§ã™ã€‚
ãƒãƒ¼ã‚«ãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã€ç‰¹å®šã®æ–‡åŒ–ã«åˆã‚ã›ã¦ãƒªã‚½ãƒ¼ã‚¹ã‚’翻訳ã™ã‚‹ãƒ—ãƒã‚»ã‚¹ã§ã™ã€‚
.NET Frameworkã®System.Globalization
åå‰ç©ºé–“ã«ã¯ã€è¨€èªžã€å›½ãŠã‚ˆã³åœ°åŸŸã€ã‚«ãƒ¬ãƒ³ãƒ€ã€æ—¥ä»˜ã®æ›¸å¼ãƒ‘ターンã€é€šè²¨ã€æ•°å€¤ãŠã‚ˆã³æ–‡å—列ã®ã‚½ãƒ¼ãƒˆé †åºãªã©ã€æ–‡åŒ–ã«é–¢é€£ã™ã‚‹æƒ…å ±ã‚’å®šç¾©ã™ã‚‹ã‚¯ãƒ©ã‚¹ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ã“れらã®ã‚¯ãƒ©ã‚¹ã«ã‚ˆã‚Šã‚°ãƒãƒ¼ãƒãƒ«å¯¾å¿œã‚¢ãƒ—リケーションã®é–‹ç™ºãƒ—ãƒã‚»ã‚¹ãŒç°¡ç•¥åŒ–ã•ã‚Œã¾ã™ã€‚ãã®ãŸã‚ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®æ–‡åŒ–を表ã™CultureInfo
オブジェクトをSystem.Globalization
åå‰ç©ºé–“ã«å«ã¾ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã«æ¸¡ã™ã¨ã€ä¸€é€£ã®æ£ã—ã„ルールã¨ãƒ‡ãƒ¼ã‚¿ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚
.NET Frameworkã§ã¯ãƒªã‚½ãƒ¼ã‚¹ã®ä½œæˆã¨ãƒãƒ¼ã‚«ãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ã‚‚サãƒãƒ¼ãƒˆã•ã‚Œã¦ãŠã‚Šã€ãƒªã‚½ãƒ¼ã‚¹ã‚’パッケージ化ã—ãŸã‚Šãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹ãŸã‚ã®ãƒ¢ãƒ‡ãƒ«ãŒæä¾›ã•ã‚Œã¦ã„ã¾ã™ã€‚アプリケーションã®ãƒªã‚½ãƒ¼ã‚¹ã‚’特定ã®æ–‡åŒ–用ã«ãƒãƒ¼ã‚«ãƒ©ã‚¤ã‚ºã™ã‚‹ã“ã¨ã§ã€ç¿»è¨³ç‰ˆã®ã‚¢ãƒ—リケーションã®é–‹ç™ºãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚ .NET Frameworkã®åŸºæœ¬ã‚¯ãƒ©ã‚¹ãƒ»ãƒ©ã‚¤ãƒ–ラリã§ã¯ã€ã‚¢ãƒ—リケーション・リソースを構築ãŠã‚ˆã³æ“作ã™ã‚‹ãŸã‚ã®æ§˜ã€…ãªã‚¯ãƒ©ã‚¹ã‚’System.Resources
åå‰ç©ºé–“ã§æä¾›ã—ã¦ã„ã¾ã™ã€‚
アプリケーションã®ãƒ‡ãƒ¼ã‚¿ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒæœŸå¾…ã™ã‚‹ã¨ãŠã‚Šã«è¡¨ç¤ºã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚Šã€ãã†ã§ãªã„å ´åˆã¯æ„味ãŒèª¤ã£ã¦è§£é‡ˆã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€12/11/05ã¯ã€ã‚¢ãƒ¡ãƒªã‚«åˆè¡†å›½ã§ã¯2005å¹´12月11日をæ„味ã—ã¾ã™ãŒã€ã‚¤ã‚®ãƒªã‚¹ã§ã¯2005å¹´11月12日をæ„味ã—ã¾ã™ã€‚数値書å¼ã¨é€šè²¨æ›¸å¼ã«ã‚‚åŒæ§˜ã®é•ã„ãŒã‚ã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€ãƒ”リオド(.)ã¯ã€ã‚¢ãƒ¡ãƒªã‚«åˆè¡†å›½ã§ã¯å°æ•°ç‚¹ã‚»ãƒ‘レータã§ã™ãŒã€æ¬§å·žã§ã¯åƒå˜ä½ã®ã‚»ãƒ‘レータã§ã™ã€‚
å„言語ã«ã¯ã€ãã‚Œãžã‚Œç‹¬è‡ªã®ã‚½ãƒ¼ãƒˆè¦å‰‡ãŒã‚ã‚Šã¾ã™ã€‚アルファベットã®æ–‡å—ã®é †åºã«å¾“ã†è¨€èªžã‚„ã€æ–‡å—ã®ç”»æ•°ã«å¾“ã†è¨€èªžã€å˜èªžã®ç™ºéŸ³ã«å¾“ã†è¨€èªžãªã©ãŒã‚ã‚Šã¾ã™ã€‚ユーザーãŒæ…£ã‚Œã¦ã„ã‚‹è¨€èªžé †åºã§ã‚½ãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„データを表示ã™ã‚‹ã¨ã€æƒ…å ±ã®æ¤œç´¢ãŒé›£ã—ããªã‚Šã€æ™‚é–“ãŒã‹ã‹ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
アプリケーション・ãƒã‚¸ãƒƒã‚¯ãŠã‚ˆã³ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰å–å¾—ã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã®é‡ã«ã‚ˆã£ã¦ã¯ã€ã‚¢ãƒ—リケーション・レベルよりもデータベース・レベルã§ãƒ‡ãƒ¼ã‚¿ã‚’書å¼è¨å®šã—ãŸæ–¹ãŒé©åˆ‡ãªå ´åˆãŒã‚ã‚Šã¾ã™ã€‚ Oracle Databaseã«ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒã‚±ãƒ¼ãƒ«ãƒ»ãƒ—リファレンスãŒã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã«ã€ãƒ‡ãƒ¼ã‚¿ã®è¡¨ç¾ã‚’調整ã™ã‚‹æ©Ÿèƒ½ãŒå¤šã用æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚
次ã®ä¾‹ã®ã„ãã¤ã‹ã§ã¯ã€SQL*Plusを使用ã—ã¦ã€SYS
ã‚„SYSTEM
ãªã©ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ç®¡ç†è€…権é™ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã—ã¦æŽ¥ç¶šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
å‚ç…§: 詳細ã¯ã€ã€ŽOracle Database 2æ—¥ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ç®¡ç†è€…ã€ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ»ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ãƒãƒƒã‚¯ãŠã‚ˆã³ãƒãƒƒã‚¯è§£é™¤ã«é–¢ã™ã‚‹é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 |
Oracle Databaseã®æ—¥ä»˜è¡¨ç¤ºæ›¸å¼ã«ã¯ã€æ¨™æº–ã®æ›¸å¼ã€çŸã„書å¼ã€é•·ã„書å¼ã®3種類ãŒã‚ã‚Šã¾ã™ã€‚次ã®æ‰‹é †ã§ã¯ã€ã‚¢ãƒ¡ãƒªã‚«åˆè¡†å›½ã¨ãƒ‰ã‚¤ãƒ„ã§ã®çŸã„日付書å¼ã¨é•·ã„日付書å¼ã®é•ã„を示ã—ã¾ã™ã€‚
Oracleã®æ—¥ä»˜æ›¸å¼ã‚’変更ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
Windowsã®ã‚³ãƒžãƒ³ãƒ‰ãƒ»ãƒ—ãƒãƒ³ãƒ—トã‹ã‚‰æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
C:\>sqlplus "sys as sysdba"
Enter password:passwd
passwd
ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ™‚ã«è¨å®šã—ãŸSys
パスワードã§ã™ã€‚æ–‡å—を入力ã—ã¦ã‚‚ã€ãƒ‘スワードã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。
nls00.gifã®èª¬æ˜Ž
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_TERRITORY=america NLS_LANGUAGE=american;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
パラメータをç¾è¡Œã®è¨å®šã«è¨å®šã—ã¦ã‚‚å•é¡Œã¯ã‚ã‚Šã¾ã›ã‚“。セã‚ュリティ上必è¦ãªå ´åˆã«è¡Œã†ã“ã¨ã¯ã§ãã¾ã™ã€‚ç¾è¡Œã®è¨å®šã‚’確èªã™ã‚‹ã«ã¯ã€æ¬¡ã®ã‚ˆã†ã«å…¥åŠ›ã—ã¾ã™ã€‚
SQL> select * from v$nls_parameters;
ã¾ãŸã¯
select * from v$nls_parameters where parameter = 'NLS_LANGUAGE';
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
SQL> SELECT employee_id "ID", SUBSTR (first_name,1,1)||'. '||last_name "Name", TO_CHAR (hire_date, 'DS') "Short Hire", TO_CHAR (hire_date, 'DL') "Long Hire Date" FROM hr.employees WHERE employee_id < 105;
ç¾åœ¨ã¯hr
ã§ã¯ãªãsys
ã§ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹ãŸã‚ã€hr
スã‚ーマã®employees
表ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€hr.employees
を使用ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
å•åˆã›çµæžœã¯ã€æ‰‹é †1ã§æŒ‡å®šã—ãŸç±³èªžæ›¸å¼ã§æˆ»ã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_TERRITORY=germany NLS_LANGUAGE=german;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§ã€æ‰‹é †3ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
å•åˆã›çµæžœã¯ã€æ‰‹é †4ã§æŒ‡å®šã—ãŸãƒ‰ã‚¤ãƒ„語書å¼ã§æˆ»ã•ã‚Œã¾ã™ã€‚
å°æ•°ç‚¹æ–‡å—ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—・セパレータã«ã‚‚é•ã„ãŒã‚ã‚Šã¾ã™ã€‚次ã®æ‰‹é †ã§ã¯ã€ã‚¢ãƒ¡ãƒªã‚«åˆè¡†å›½ã¨ãƒ‰ã‚¤ãƒ„ã§ã®ã“れらã®é•ã„を示ã—ã¾ã™ã€‚
Oracleã®æ•°å€¤æ›¸å¼ã‚’変更ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_TERRITORY=america NLS_LANGUAGE=american;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
SQL> SELECT employee_id "ID", SUBSTR (first_name,1,1)||'. '||last_name "Name", TO_CHAR (salary, '99G999D99') "Salary" FROM hr.employees WHERE employee_id < 105;
å•åˆã›çµæžœã¯ã€æ‰‹é †1ã§æŒ‡å®šã—ãŸç±³èªžæ›¸å¼ã§æˆ»ã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_TERRITORY=germany;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§ã€æ‰‹é †2ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
å•åˆã›çµæžœã¯ã€æ‰‹é †3ã§æŒ‡å®šã—ãŸãƒ‰ã‚¤ãƒ„語書å¼ã§æˆ»ã•ã‚Œã¾ã™ã€‚
スペインã§ã¯ã€ä¼çµ±çš„ã«ch
ã€ll
ãŠã‚ˆã³Ã±
ãŒç‹¬è‡ªã®æ–‡å—ã¨ã—ã¦æ‰±ã‚ã‚Œã€ãã‚Œãžã‚Œc
ã€l
ãŠã‚ˆã³n
ã®å¾Œã«é †åºä»˜ã‘られã¦ã„ã¾ã™ã€‚次ã®æ‰‹é †ã§ã¯ã€Chen
ã€Chung
ãŠã‚ˆã³Colmenares
ã¨ã„ã†å¾“æ¥å“¡åã«ã‚¹ãƒšã‚¤ãƒ³èªžã®ã‚½ãƒ¼ãƒˆã‚’使用ã—ãŸå ´åˆã®çµæžœã‚’説明ã—ã¾ã™ã€‚
Oracleã®è¨€èªžã‚½ãƒ¼ãƒˆã‚’変更ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_SORT=binary;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
SQL> SELECT employee_id "ID", last_name "Name" FROM hr.employees WHERE last_name LIKE 'C%' ORDER BY last_name;
å•åˆã›çµæžœã¯ã€æ‰‹é †1ã§æŒ‡å®šã—ãŸãƒã‚¤ãƒŠãƒªãƒ»ã‚½ãƒ¼ãƒˆé †ã§æˆ»ã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_SORT=spanish_m;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§ã€æ‰‹é †2ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
å•åˆã›çµæžœã¯ã€æ‰‹é †3ã§æŒ‡å®šã—ãŸã‚¹ãƒšã‚¤ãƒ³èªžã®ã‚½ãƒ¼ãƒˆé †ã§æˆ»ã•ã‚Œã¾ã™ã€‚
NLS_LANGUAGE
パラメータã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚¨ãƒ©ãƒ¼ãƒ»ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®è¨€èªžã‚’制御ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚次ã®æ‰‹é †ã§ç¤ºã™ã¨ãŠã‚Šã€SQLå•åˆã›ã‚’実行ã™ã‚‹å‰ã«ã“ã®ãƒ‘ラメータをè¨å®šã™ã‚‹ã“ã¨ã§ã€ãƒãƒ¼ã‚«ãƒ«è¨€èªžå›ºæœ‰ã®ã‚¨ãƒ©ãƒ¼ãƒ»ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒæˆ»ã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
Oracleã®NLS言語パラメータを変更ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_LANGUAGE=american;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
SQL> SELECT * FROM managers;
å•åˆã›çµæžœã¨ã—ã¦ã€æ‰‹é †1ã§æŒ‡å®šã—ãŸè¨€èªžã§ã‚¨ãƒ©ãƒ¼ãƒ»ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒæˆ»ã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¾ã™ã€‚
SQL> ALTER SESSION SET NLS_LANGUAGE=french;
「セッションãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
SQLプãƒãƒ³ãƒ—トã§ã€æ‰‹é †2ã®å•åˆã›ã‚’入力ã—ã¾ã™ã€‚
å•åˆã›çµæžœã¨ã—ã¦ã€æ‰‹é †3ã§æŒ‡å®šã—ãŸè¨€èªžã§ã‚¨ãƒ©ãƒ¼ãƒ»ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒæˆ»ã•ã‚Œã¾ã™ã€‚
言語ã€ãƒãƒ¼ã‚«ãƒ«ãŠã‚ˆã³ã‚½ãƒ¼ãƒˆè¨å®šã‚’リセットã—ã€å…ƒã®å€¤ã«æˆ»ã—ã¾ã™ã€‚
ã‚°ãƒãƒ¼ãƒãƒ«ãƒ»ã‚¢ãƒ—リケーションを開発ã™ã‚‹ã¨ãã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ»ãƒã‚±ãƒ¼ãƒ«è¨å®šã‚’常ã«åŒæœŸã•ã›ã¾ã™ã€‚åŒæœŸã•ã›ãªã„å ´åˆã¯ã€æ–‡åŒ–ã«ã‚ˆã£ã¦ç•°ãªã‚‹æƒ…å ±ãŒçŸ›ç›¾ã—ãŸçŠ¶æ…‹ã§ã‚¢ãƒ—リケーションã‹ã‚‰è¡¨ç¤ºã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ ãŸã¨ãˆã°ã€.NETアプリケーションã§ã¯ã€SQLæ“作を実行ã™ã‚‹å‰ã«ã€ã‚¢ãƒ—リケーション・ユーザーã®Culture IDã‚’æ£ã—ã„NLS_LANGUAGE
パラメータ値ãŠã‚ˆã³NLS_TERRITORY
パラメータ値ã«ãƒžãƒƒãƒ—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
表9-1ã«ã€ä¸€èˆ¬çš„ã«ä½¿ç”¨ã•ã‚Œã‚‹ãƒã‚±ãƒ¼ãƒ«ã®.NET環境ã¨Oracle環境ã§ã®å®šç¾©ã‚’示ã—ã¾ã™ã€‚
表9-1 一般的ãªNLS_LANGUAGEãŠã‚ˆã³NLS_TERRITORYパラメータ
Culture | Culture ID | NLS_LANGUAGE | NLS_TERRITORY |
---|---|---|---|
ä¸å›½èªžï¼ˆä¸è¯äººæ°‘共和国) |
|
|
|
ä¸å›½èªžï¼ˆå°æ¹¾ï¼‰ |
|
|
|
英語(アメリカåˆè¡†å›½ï¼‰ |
|
|
|
英語(イギリス) |
|
|
|
フランス語(カナダ) |
|
|
|
フランス語(フランス) |
|
|
|
ドイツ語 |
|
|
|
イタリア語 |
|
|
|
日本語 |
j |
|
|
韓国語 |
|
|
|
ãƒãƒ«ãƒˆã‚¬ãƒ«èªžï¼ˆãƒ–ラジル) |
|
|
|
ãƒãƒ«ãƒˆã‚¬ãƒ«èªž |
|
|
|
スペイン語 |
|
|
|
Oracle Data Provider for .NETを使用ã™ã‚‹ã¨ã€Oracle Databaseã§å®šç¾©ã•ã‚Œã¦ã„る文化ã«ã‚ˆã£ã¦ç•°ãªã‚‹è¡¨è¨˜è¦å‰‡ã‚’使用ã—ã¦ã€é©åˆ‡ãªæ–‡å—列書å¼ã€æ—¥ä»˜ã€æ™‚é–“ã€é‡‘é¡ã€æ•°å€¤ã€ã‚½ãƒ¼ãƒˆé †åºã‚’ä¿æŒã—ãŸã‚Šã€ã‚«ãƒ¬ãƒ³ãƒ€ã‚’サãƒãƒ¼ãƒˆã™ã‚‹ãªã©ã€æ–‡åŒ–ã«ã‚ˆã£ã¦ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’アプリケーションã§æ“作ã§ãã¾ã™ã€‚デフォルトã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®NLS_LANG
パラメータã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã¾ã™ã€‚ã“ã®ãƒ‘ラメータã¯ã€ãƒãƒ¼ã‚«ãƒ«ãƒ»ã‚³ãƒ³ãƒ”ュータã®Windowsレジストリã§å®šç¾©ã•ã‚Œã¾ã™ã€‚OracleConnection
Open
メソッドã«ã‚ˆã‚ŠæŽ¥ç¶šãŒç¢ºç«‹ã•ã‚Œã‚‹ã¨ãã«ã€NLS_LANG
パラメータã®å€¤ã§æŒ‡å®šã•ã‚ŒãŸã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータを使用ã—ã¦ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒæš—黙的ã«ã‚ªãƒ¼ãƒ—ンã•ã‚Œã¾ã™ã€‚
クライアント・グãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータè¨å®šã¯èªå–り専用ã§ã‚ã‚Šã€ã‚¢ãƒ—リケーションã®å˜ç¶šæœŸé–“ä¸ã¯å¤‰ã‚ã‚Šã¾ã›ã‚“。OracleGlobalization
オブジェクト・プãƒãƒ‘ティを変更ã—ã¦ã‚‚ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¾ãŸã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“。次ã®é …ã§ã¯ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŠã‚ˆã³ã‚¹ãƒ¬ãƒƒãƒ‰ãƒ»ãƒ¬ãƒ™ãƒ«ã§ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã‚’変更ã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
.NETアプリケーションã§ã¯ã€OracleGlobalization.GetClientInfo()
é™çš„メソッドをコールã™ã‚‹ã“ã¨ã§ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã‚’å–å¾—ã§ãã¾ã™ã€‚次ã®OracleGlobalization
ã®ã‚µãƒ³ãƒ—ル・コードã¯ã€.NETã®å€¤ã®ä¸€éƒ¨ã‚’å–å¾—ã™ã‚‹æ–¹æ³•ã‚’示ã—ã¦ã„ã¾ã™ã€‚
Visual C#:
using System; using Oracle.DataAccess.Client; class ClientGlobalizationSample { static void Main() { OracleGlobalization ClientGlob = OracleGlobalization.GetClientInfo(); Console.WriteLine("Client machine language: " + ClientGlob.Language); Console.WriteLine("Client characterset: " + ClientGlob.ClientCharacterSet); } }
Visual Basic:
Imports System Imports Oracle.DataAccess.Client Class ClientGlobalizationSample Shared Sub Main() Dim ClientGlob As OracleGlobalization = OracleGlobalization.GetClientInfo() Console.WriteLine("Client machine language: " + ClientGlob.Language) Console.WriteLine("Client characterset: " + ClientGlob.ClientCharacterSet) End Sub End Class
セッション・グãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータã¯ã€æœ€åˆã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ»ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã¨åŒã˜ã§ã™ãŒã€å¤‰æ›´ãŒå¯èƒ½ã§ã™ã€‚セッション・パラメータを変更ã™ã‚‹ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šã‚’確立ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ãã®å¾Œã€OracleConnection
オブジェクトã®GetSessionInfo()
メソッドをコールã—ã¦ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ»ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã‚’å–å¾—ã—ã¾ã™ã€‚次ã«ã€å¿…è¦ã«å¿œã˜ã¦ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šã‚’変更ã—ã€SetSessionInfo(OracleGlobalization)
メソッドを使用ã—ã¦OracleConnection
オブジェクトã«è¨å®šã‚’ä¿å˜ã—ã¾ã™ã€‚
ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³è¨å®šã‚’指定ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
アプリケーションHR_Connect_CS
ã¾ãŸã¯HR_Connect_VB
ã‚’é–‹ãã¾ã™ã€‚
付録B「フォームã®ã‚³ãƒ”ーã€ã®æ‰‹é †ã«å¾“ã£ã¦ã€ç¬¬4ç« ã®æœ€å¾Œã§å®Œæˆã•ã›ãŸForm3.
xx
ã®ã‚³ãƒ”ーを作æˆã—ã€Form5.
xx
ã¨ã„ã†åå‰ã‚’付ã‘ã¾ã™ã€‚
プãƒã‚¸ã‚§ã‚¯ãƒˆã®Form1ã‚’é–‹ãã€è¨è¨ˆãƒ“ューã«åˆ‡ã‚Šæ›¿ãˆã¾ã™ã€‚
「Viewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒToolboxã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Toolboxã€ã®ã€ŒWindows Formsã€ã®ä¸‹ã«ã‚る「Buttonã€ã‚’Form1ã«ãƒ‰ãƒ©ãƒƒã‚°ãƒ»ã‚¢ãƒ³ãƒ‰ãƒ»ãƒ‰ãƒãƒƒãƒ—ã—ã¾ã™ã€‚
æ–°ã—ã„「Buttonã€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ŒPropertiesã€ã‚’é¸æŠžã—ã¾ã™ã€‚「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã€æ¬¡ã®ãƒ—ãƒãƒ‘ティをè¨å®šã—ã¾ã™ã€‚
「Appearanceã€ã®ä¸‹ã§ã€ã€ŒTextã€ã‚’Change
Date
Format
ã«å¤‰æ›´ã—ã¾ã™ã€‚
「Designã€ã®ä¸‹ã§ã€ã€Œï¼ˆName)ã€ã‚’date_change
ã«å¤‰æ›´ã—ã¾ã™ã€‚
Form1ã®å¤–観ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã€ŒEventsã€ï¼ˆç¨²å¦»ã®ã‚¢ã‚¤ã‚³ãƒ³ï¼‰ã‚’クリックã™ã‚‹ã¨ã€date_change_Click()
ãŒæ—¥ä»˜ãƒœã‚¿ãƒ³ã®ã€ŒEventã€ã¨ã—ã¦è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
作æˆã—ãŸã°ã‹ã‚Šã®æ–°ã—ã„date_change_Click()
メソッドを開ãã€æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã—ã¦æ—¥ä»˜æ›¸å¼ã‚’標準ã®DD-MON-RR
ã‹ã‚‰YYYY-MM-DD
ã«å¤‰æ›´ã—ã€DataSet
ã‚’æ›´æ–°ã—ã¾ã™ã€‚
Visual C#:
si.DateFormat = "YYYY-MM-DD"; conn.SetSessionInfo(si); ds.Clear(); da.Fill(ds); departments.DataSource = ds.Tables[0];
Visual Basic:
si.DateFormat = "YYYY-MM-DD" conn.SetSessionInfo(si) ds.Clear() da.Fill(ds) departments.DataSource = ds.Tables(0)
ds.Clear()
をコールã™ã‚‹ã¨ã€å¤‰æ›´ã—ãŸãƒ‡ãƒ¼ã‚¿ãŒãƒã‚¹ãƒˆã•ã‚Œã‚‹å‰ã«å¤ã„çµæžœãŒæ¶ˆåŽ»ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
ã¾ãŸã€si
クラス変数ã®å®£è¨€ãŠã‚ˆã³ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ»ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³æƒ…å ±ã®å–å¾—ã¯ã€æ‰‹é †10ãŠã‚ˆã³æ‰‹é †11ã§è¡Œã„ã¾ã™ã€‚
該当ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰å†…ã«ã€æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã—ã¾ã™ã€‚
Visual C#: Form1()
メソッドã«è¿½åŠ
date_change.Enabled = false;
Visual Basic: Form1_Load
メソッドã«è¿½åŠ
date_change.Enabled = false
次ã®ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¦ã€æ—¢å˜ã®Form1クラス宣言ã®public
Form1()
ブãƒãƒƒã‚¯ã®ç›´å¾Œã«æ¬¡ã®ã‚¯ãƒ©ã‚¹å¤‰æ•°ã‚’è¿½åŠ ã—ã¾ã™ã€‚
Visual C#:
private OracleGlobalization si;
Visual Basic:
private si As OracleGlobalization
connect_Click()
メソッドã®Try
ブãƒãƒƒã‚¯ã«ã€æ¬¡ã®æ“作を実行ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã—ã¾ã™ã€‚
OracleGlobalization
オブジェクトã®å€¤ã®å–å¾—
EMPLOYEES
表ã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã®å–得(新ã—ã„å•åˆã›ï¼‰
「Change Date Formatã€ãƒœã‚¿ãƒ³ã®æœ‰åŠ¹åŒ–
変更ã—ãŸã‚³ãƒ¼ãƒ‰ã¯å¤ªå—ã§ç¤ºã—ã¦ã„ã¾ã™ã€‚
Visual C#:
conn.Open(); connect.Enabled = false; si = conn.GetSessionInfo(); string sql = "select employee_id, first_name, last_name, TO_CHAR(hire_date)" + " \"Hire Date\" from employees where employee_id < 105"; cmd = new OracleCommand(sql, conn); cmd.CommandType = CommandType.Text; da = new OracleDataAdapter(cmd); cb = new OracleCommandBuilder(da); ds = new DataSet(); da.Fill(ds); departments.DataSource = ds.Tables[0]; save.Enabled = true; date_change.Enabled = true;
Visual Basic:
conn.Open() connect.Enabled = false si = conn.GetSessionInfo() Dim sql As String = "select employee_id, first_name, last_name, " & _ "TO_CHAR(hire_date) ""Hire Date"" from employees where employee_id < 105" cmd = new OracleCommand(sql, conn) cmd.CommandType = CommandType.Text da = new OracleDataAdapter(cmd) cb = new OracleCommandBuilder(da) ds = new DataSet() da.Fill(ds) departments.DataSource = ds.Tables[0] save.Enabled = true date_change.Enabled = true
Form1
ã‚’ä¿å˜ã—ã¾ã™ã€‚
[F5]ã‚ーボード・ショートカットを使用ã—ã¦ã‚¢ãƒ—リケーションを実行ã—ã¾ã™ã€‚
アプリケーションãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æ£ã—ã接続ã•ã‚Œã‚‹ã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ»ã‚°ãƒªãƒƒãƒ‰ã«å•åˆã›çµæžœãŒç§»å…¥ã•ã‚Œã¾ã™ã€‚
「Change Date Formatã€ã‚’クリックã—ã¾ã™ã€‚
日付書å¼ãŒå…ƒã®DD-MON-RR
ã‹ã‚‰YYYY-MM-DD
ã«å¤‰æ›´ã•ã‚Œã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
アプリケーションを閉ã˜ã¾ã™ã€‚
スレッドベースã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータè¨å®šã¯ã€å„スレッドã«å›ºæœ‰ã§ã™ã€‚ã“れらã®è¨å®šã¯ã€æœ€åˆã¯ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãƒ»ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータã¨åŒã˜ã§ã™ãŒã€ãƒ—ãƒã‚°ãƒ©ãƒ ã§å¤‰æ›´ã§ãã¾ã™ã€‚ ODP.NETåž‹ã¨æ–‡å—列ã¨ã®é–“ã§å¤‰æ›ãŒè¡Œã‚れるã¨ãã«ã€é©ç”¨å¯èƒ½ã§ã‚ã‚Œã°ã‚¹ãƒ¬ãƒƒãƒ‰ãƒ™ãƒ¼ã‚¹ã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚
スレッド・ベースã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ‘ラメータè¨å®šã‚’å–å¾—ã™ã‚‹ã«ã¯ã€OracleGlobalization
クラスã®GetThreadInfo()
é™çš„メソッドをコールã—ã¾ã™ã€‚SetThreadInfo()
é™çš„メソッドをコールã™ã‚‹ã¨ã€ã‚¹ãƒ¬ãƒƒãƒ‰ã®ã‚°ãƒãƒ¼ãƒãƒªã‚¼ãƒ¼ã‚·ãƒ§ãƒ³è¨å®šãŒè¨å®šã•ã‚Œã¾ã™ã€‚
文化ã«ã‚ˆã£ã¦ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’æ“作ã™ã‚‹å ´åˆã€ODP.NETクラスãŠã‚ˆã³æ§‹é€ 体ã¯ã€OracleGlobalization
è¨å®šã®ã¿ã‚’使用ã—ã¾ã™ã€‚ .NETスレッドã®æ–‡åŒ–æƒ…å ±ã¯ä½¿ç”¨ã•ã‚Œã¾ã›ã‚“。 アプリケーションã§.NETåž‹ã®ã¿ã‚’使用ã™ã‚‹å ´åˆã¯ã€OracleGlobalization
ã®è¨å®šã¯å½±éŸ¿ã—ã¾ã›ã‚“。 ãŸã ã—ã€ODP.NETåž‹ã¨.NETåž‹ã®é–“ã§å¤‰æ›ã‚’è¡Œã†å ´åˆã¯ã€è©²å½“ã™ã‚‹ç®‡æ‰€ã§OracleGlobalization
ã®è¨å®šãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚
注æ„: System.Threading.Thread. CurrentThread.CurrentCulture プãƒãƒ‘ティを変更ã—ã¦ã‚‚ã€ã‚¹ãƒ¬ãƒƒãƒ‰ã¾ãŸã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®OracleGlobalization è¨å®šã¯å¤‰ã‚ã‚Šã¾ã›ã‚“。ãã®é€†ã‚‚åŒæ§˜ã§ã™ã€‚ |
ã“ã®ç« ã®å†…容ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚
Visual Studioã§ã¯ã€ä½œæˆã™ã‚‹ã™ã¹ã¦ã®é–‹ç™ºã‚³ãƒ¼ãƒ‰ãŒã‚°ãƒ«ãƒ¼ãƒ—化ã•ã‚Œã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã¨å‘¼ã°ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒŠã«å…¥ã‚Œã‚‰ã‚Œã¾ã™ã€‚å˜ç´”ãªãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®ã»ã¨ã‚“ã©ã¯ã€1ã¤ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã¿ã§æ§‹æˆã•ã‚Œã¾ã™ã€‚ã“ã®é …ã§ã¯ã€æ–°ã—ã„開発プãƒã‚¸ã‚§ã‚¯ãƒˆã®ä½œæˆæ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
ã“ã®ç« ã§ä½œæˆã™ã‚‹ã‚¢ãƒ—リケーションã¯ã€å¾Œç¶šã®ç« ã§è¡Œã†æ“作ã®é–‹å§‹ç‚¹ã«ãªã‚‹ãŸã‚ã€ã“ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã«ç¤ºã™é †ã«æ“作ã—ã¦ãã ã•ã„。
注æ„: å¿…è¦ã«å¿œã˜ã¦ã€Visual C#ã¾ãŸã¯Visual BasicãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ã€‚
æ–°ã—ã„プãƒã‚¸ã‚§ã‚¯ãƒˆã‚’開始ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
Visual Studioã‚’èµ·å‹•ã—ã¾ã™ã€‚
「スタートã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’é–‹ãã€ã€Œã™ã¹ã¦ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã€ã‹ã‚‰ã€ŒMicrosoft Visual Studio 2008ã€ã‚’é¸æŠžã—ã¾ã™ã€‚
Microsoft Visual Studio IDE環境ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
「Start Pageã€ã®ã€ŒRecent Projectsã€ãƒ˜ãƒƒãƒ€ãƒ¼ã®ä¸‹ã«ã‚る「Create: Projectã€ã‚’クリックã—ã¾ã™ã€‚
ã¾ãŸã¯ã€ã€ŒFileã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒNewã€ã€ã€ŒProjectã€ã®é †ã«é¸æŠžã—ã¾ã™ã€‚
「New Projectã€ãƒ€ã‚¤ã‚¢ãƒã‚°ãƒ»ãƒœãƒƒã‚¯ã‚¹ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
「Project Typesã€ã§ã€ä½œæˆã™ã‚‹ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®ç¨®é¡žã‚’é¸æŠžã—ã¾ã™ã€‚
Visual C#:
Visual C#: Windows
Visual Basic:
Other Languages: Visual Basic: Windows
「Templatesã€ã§ã€ŒWindows Forms Applicationã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Nameã€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«é©åˆ‡ãªåå‰ã‚’入力ã—ã¾ã™ã€‚
Visual C#:
HR_Connect_CS
Visual Basic:
HR_Connect_VB
略語ã®CS
ã¯C#プãƒã‚¸ã‚§ã‚¯ãƒˆã‚’ã€VBã¯Visual Basicプãƒã‚¸ã‚§ã‚¯ãƒˆã‚’示ã—ã¾ã™ã€‚
「Locationã€ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ä¿å˜ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’入力ã—ã¾ã™ã€‚
ã“ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã«åˆã‚ã›ã¦ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’C:\HR_Projects
ã¨å…¥åŠ›ã—ã¾ã™ã€‚
「Solution Nameã€ã«é©åˆ‡ãªåå‰ï¼ˆHR_Connect_CSã¾ãŸã¯HR_Connect_VB)ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
1ã¤ã®ã‚½ãƒªãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³ã«è¤‡æ•°ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚’æ ¼ç´ã§ãã¾ã™ã€‚ソリューションã«å«ã¾ã‚Œã‚‹ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãŒ1ã¤ã®ã¿ã®å ´åˆã¯ã€ä¸¡æ–¹ã«åŒã˜åå‰ã‚’使用ã§ãã¾ã™ã€‚
「Create directory for solutionã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「OKã€ã‚’クリックã—ã¾ã™ã€‚
プãƒã‚¸ã‚§ã‚¯ãƒˆãŒä½œæˆã•ã‚Œã¾ã™ã€‚
メイン・ウィンドウã«ã¯ã€è¨€èªžã«å¿œã˜ã¦ã€ŒHR_Connect_CS - Microsoft Visual Studioã€ã¾ãŸã¯ã€ŒHR_Connect_VB - Microsoft Visual Studioã€ã®ã„ãšã‚Œã‹ãŒæ–°ã—ã„タイトルã¨ã—ã¦è¡¨ç¤ºã•ã‚Œã€æ¬¡ã«ç¤ºã™Form1ãŒä½œæˆã•ã‚Œã¾ã™ã€‚
多ãã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã®æœ€åˆã®ãƒ•ã‚©ãƒ¼ãƒ ã«ã¯ã€Form1ã¨ã„ã†åå‰ãŒè‡ªå‹•çš„ã«ä»˜ã‘られるã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã“ã‚Œã¯ãƒ•ã‚©ãƒ¼ãƒ ・コントãƒãƒ¼ãƒ«ã®åå‰ã§ã™ã€‚ã“ã®åå‰ã¨ã€ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã«ä»˜ã‘られる実際ã®åå‰ã‚’æ··åŒã—ãªã„ã§ãã ã•ã„。通常ã€ã‚³ãƒ¼ãƒ‰ãƒ»ãƒ•ã‚¡ã‚¤ãƒ«ã®åå‰ã¯Form1.cs
ã¾ãŸã¯Form1.vb
ã§ã™ã€‚
Form1ã¨Form
1.xx
ã¯ã€ä¸¡æ–¹ã¨ã‚‚åå‰ã‚’変更ã§ãã¾ã™ã€‚ã“ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã§ã¯ã€Form
1.xx
ã®åå‰ã‚’何回ã‹å¤‰æ›´ã—ã¾ã™ã€‚
ã“ã®é …ã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ—ãƒãƒã‚¤ãƒ€ã§ã‚ã‚‹Oracle Data Provider for .NETãŒå«ã¾ã‚Œã‚‹Oracle.DataAccess.dll
ファイルã¸ã®å‚ç…§ã‚’è¿½åŠ ã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
å‚ç…§ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
「Projectã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒAdd Referenceã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Add Referenceã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
「Add Referenceã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã®ã€Œ.NETã€ã‚¿ãƒ–ã§Oracle.DataAccessã‚’é¸æŠžã—ã¾ã™ã€‚「OKã€ã‚’クリックã—ã¾ã™ã€‚
「Solution Explorerã€ã«æ–°ã—ã„å‚ç…§ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
モジュール内ã§ã‚¢ã‚»ãƒ³ãƒ–リã®åå‰ç©ºé–“を指定ã§ãるよã†ã«ã€Oracleåå‰ç©ºé–“ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’è¿½åŠ ã§ãã¾ã™ã€‚ã“れを行ã†ã«ã¯ã€C#ã®using
æ–‡ã¾ãŸã¯Visual Basicã®Imports
文をコード・ファイルã®å…ˆé ã¾ãŸã¯å…ˆé 付近ã«è¿½åŠ ã—ã¾ã™ã€‚
注æ„: å‚ç…§ã‚’è¿½åŠ ã™ã‚‹ã¨ã€ã‚¢ãƒ—リケーション内ã§åå‰ç©ºé–“を使用ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚åå‰ç©ºé–“ディレクティブをアプリケーション・コードã«è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€åå‰ç©ºé–“ãŒæ˜Žç¢ºã«ãªã‚Šã€ã‚¹ã‚³ãƒ¼ãƒ—ã®è¿½åŠ ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚ |
Oracleåå‰ç©ºé–“ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
Form1をアクティブã«ã—ã¦ã€ã€ŒViewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒCodeã€ã‚’é¸æŠžã—ã¾ã™ã€‚
ã¾ãŸã¯ã€[F7]ã‚ーボード・ショートカットを使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
使用ã—ã¦ã„る言語ã«å¿œã˜ã¦ã€æ¬¡ã®æ–‡ã‚’宣言ã®ãƒªã‚¹ãƒˆã«è¿½åŠ ã—ã¾ã™ã€‚
Visual C#:
ä»–ã®using
æ–‡ã¨ã¨ã‚‚ã«ã€åå‰ç©ºé–“ã®å‰ã«è¿½åŠ ã—ã¾ã™ã€‚
using Oracle.DataAccess.Client; using Oracle.DataAccess.Types;
Visual Basic:
ファイルã®å…ˆé ã®å®£è¨€éƒ¨ã«è¿½åŠ ã—ã¾ã™ã€‚
Imports Oracle.DataAccess.Client Imports Oracle.DataAccess.Types
「Fileã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒSaveã€ã‚’é¸æŠžã™ã‚‹ã‹ã€[Ctrl] + [S]ã‚ーボード・ショートカットを使用ã—ã¦ã€å¤‰æ›´ã‚’ä¿å˜ã—ã¾ã™ã€‚
ユーザー・インタフェースã¯ã€ãƒ‡ã‚¶ã‚¤ãƒ³ãƒ»ãƒ•ã‚©ãƒ¼ãƒ ã«ãƒ„ールボックス・コントãƒãƒ¼ãƒ«ã‚’è¿½åŠ ã—ã¦ä½œæˆã§ãã¾ã™ã€‚ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰ã®æŽ¥ç¶šæƒ…å ±ã‚’å—ã‘入れã¾ã™ã€‚
ツールボックス・コントãƒãƒ¼ãƒ«ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
「Viewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒDesignerã€ã‚’é¸æŠžã—ã¾ã™ã€‚
Form1ã‚’ã¾ã é–‹ã„ã¦ã„ãªã„å ´åˆã¯ã€ã“ã®æ“作ã§Form1ãŒè¨è¨ˆãƒ“ューã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
後ã§ã€ã€ŒCodeã€ã¨ã€ŒDesignerã€ã‚’何度も切り替ãˆã¾ã™ã€‚ ã‚ーボード・ショートカットã¯ãã‚Œãžã‚Œ[F7]ã¨ã€[Shift] + [F7]ã§ã™ã€‚
「Viewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒToolboxã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Toolboxã€ã§ã€ŒCommon Controlsã€ã‚’é–‹ãã¾ã™ã€‚
「Toolboxã€ã§ã€ŒLabelã€ã‚’é¸æŠžã—ã€Form1ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¾ã™ã€‚
Form1ã§ã€Œlabel1ã€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ãªã„å ´åˆã¯ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒPropertiesã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§Textプãƒãƒ‘ティをlabel1ã‹ã‚‰User IDã«å¤‰æ›´ã—ã¾ã™ã€‚
æ‰‹é †4ã‹ã‚‰7ã‚’2回繰り返ã—ã€ã•ã‚‰ã«2ã¤ã®ãƒ©ãƒ™ãƒ«ã‚’Form1ã«ç½®ãã¾ã™ã€‚ãれらã®Textプãƒãƒ‘ティをPasswordã¨Data Sourceã«å¤‰æ›´ã—ã¾ã™ã€‚
「Toolboxã€ã§ã€ŒTextBoxã€ã‚’é¸æŠžã—ã€Form1ã®ã€ŒUser IDã€ãƒ©ãƒ™ãƒ«ã®éš£ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã€Nameプãƒãƒ‘ティをuserIDã«å¤‰æ›´ã—ã¾ã™ã€‚
æ‰‹é †9ã‹ã‚‰10ã‚’2回繰り返ã—ã€ã•ã‚‰ã«2ã¤ãƒ†ã‚スト・ボックスをForm1ã®æ—¢å˜ã®ãƒ©ãƒ™ãƒ«ã®éš£ã«é…ç½®ã—ã¾ã™ã€‚ãれらã®Nameプãƒãƒ‘ティをpasswordã¨dataSourceã«å¤‰æ›´ã—ã¾ã™ã€‚
「Passwordã€ãƒ©ãƒ™ãƒ«ã®éš£ã®ãƒ†ã‚ストボックスをé¸æŠžã—ã¾ã™ã€‚「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã€PasswordCharプãƒãƒ‘ティã¾ã§ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã—ã¦ã€ã“ã®ãƒ—ãƒãƒ‘ティをアスタリスク(*)ã«è¨å®šã—ã¾ã™ã€‚
ã“ã‚Œã«ã‚ˆã‚Šã€å…¥åŠ›ä¸ã®ãƒ‘スワードãŒãƒžã‚¹ã‚¯ã•ã‚Œã¾ã™ã€‚
「Toolboxã€ã§ã€ŒButtonã€ã‚’é¸æŠžã—ã€Form1ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¾ã™ã€‚
「Propertiesã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã€ã“ã®ãƒœã‚¿ãƒ³ã®Textプãƒãƒ‘ティを「button1ã€ã‹ã‚‰ã€ŒConnectã€ã«å¤‰æ›´ã—ã€Nameプãƒãƒ‘ティをconnectã«å¤‰æ›´ã—ã¾ã™ã€‚
ä¿å˜ã—ã¾ã™ã€‚
ツールボックスを閉ã˜ã¾ã™ã€‚
ã“ã“ã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ»ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã«å…¥åŠ›ã•ã‚ŒãŸæƒ…å ±ã‚’ä½¿ç”¨ã—ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æŽ¥ç¶šã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’記述ã—ã¾ã™ã€‚
データベースã«æŽ¥ç¶šã™ã‚‹ã«ã¯ã€æŽ¥ç¶šã‚ªãƒ–ジェクトを作æˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
データベースã«æŽ¥ç¶šã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’記述ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
ã“ã®æ‰‹é †ã‚’実行ã™ã‚‹ã¨ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒForm1ã®ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã«å…¥åŠ›ã—ãŸãƒ‡ãƒ¼ã‚¿ã«åŸºã¥ã„ã¦ã€ã‚¢ãƒ—リケーションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æŽ¥ç¶šã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ 「アプリケーションã®ã‚³ãƒ³ãƒ‘イルã¨å®Ÿè¡Œã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
「Viewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒCodeã€ã‚’é¸æŠžã—ã¾ã™ã€‚
データベースã®æŽ¥ç¶šæ–‡å—列をインスタンス化ã™ã‚‹ãŸã‚ã«ã€æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã—ã¾ã™ã€‚
Visual C#: 次ã®ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¦ã€Form1
クラスã®public
Form1()
ブãƒãƒƒã‚¯ã®ç›´å¾Œã«ã‚¯ãƒ©ã‚¹å¤‰æ•°conn
ã‚’è¿½åŠ ã—ã¾ã™ã€‚
private OracleConnection conn = new OracleConnection();
Visual Basic: 次ã®ã‚³ãƒ¼ãƒ‰ã‚’使用ã—ã¦ã€Form1
クラス宣言ã«conn
ã‚¯ãƒ©ã‚¹å¤‰æ•°ã‚’è¿½åŠ ã—ã¾ã™ã€‚
Public Class Form1
Dim conn As New OracleConnection
変更をä¿å˜ã—ã¾ã™ã€‚
「Viewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’クリックã—ã¦ã€ŒDesignerã€ã‚’é¸æŠžã—ã€ã€ŒDesignerã€ãƒ“ューã«å¤‰æ›´ã—ã¾ã™ã€‚
Form1ã®ã€ŒConnectã€ãƒœã‚¿ãƒ³ã‚’ダブルクリックã—ã€connect_Click()
メソッドã®ã‚³ãƒ¼ãƒ‰ãƒ»ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‹ãã¾ã™ã€‚
次ã«ç¤ºã™ã‚³ãƒ¼ãƒ‰ã‚’connect_Click()
メソッドã«æŒ¿å…¥ã—ã¾ã™ã€‚
Visual C#:
conn.ConnectionString = "User Id=" + userID.Text + ";Password=" + password.Text + ";Data Source=" + dataSource.Text + ";"; conn.Open();
Visual Basic:
conn.ConnectionString = "User Id=" + userID.Text & _ ";Password=" + password.Text & _ ";Data Source=" + dataSource.Text conn.Open()
注æ„: 接続をオープンã™ã‚‹ã«ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå…¥åŠ›ã—ãŸUser
ID
ã€Password
ãŠã‚ˆã³Data
Source
ã®å€¤ã‹ã‚‰æŽ¥ç¶šã‚’作æˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚Open()
メソッドã«ã‚ˆã‚Šã€å®Ÿéš›ã®æŽ¥ç¶šãŒä½œæˆã•ã‚Œã¾ã™ã€‚
connect_Click()
メソッドã®æœ€å¾Œã«æ¬¡ã®ã‚³ãƒ¼ãƒ‰ã‚’挿入ã—ã€ã“ã®ãƒœã‚¿ãƒ³ã®Enabled
属性をfalse
ã«è¨å®šã—ã¾ã™ã€‚
ã“ã‚Œã«ã‚ˆã‚Šã€ã€ŒConnectã€
ボタンã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚æ£ã—ã接続ã§ããŸå¾Œã¯ã€ã“ã®ã‚ˆã†ã«ã™ã‚‹ã“ã¨ã‚’ãŠè–¦ã‚ã—ã¾ã™ã€‚
Visual C#:
connect.Enabled = false;
Visual Basic:
connect.Enabled = false
ã“ã‚Œã§ã€Oracle Databaseã«æŽ¥ç¶šã§ãるアプリケーションを記述ã§ãã¾ã—ãŸã€‚ã“ã®å¾Œã®é …ã§ã¯ã€ã“ã®ã‚¢ãƒ—リケーションã®ä½¿ç”¨æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
ã“ã®é …ã§ã¯ã€å‰ã®é …ã§ä½œæˆã—ãŸã‚¢ãƒ—リケーションをコンパイルã—ã¦å®Ÿè¡Œã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
アプリケーションをコンパイルã—ã¦å®Ÿè¡Œã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
「Buildã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒBuild Solutionã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Outputã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ã‚¨ãƒ©ãƒ¼ãŒè¡¨ç¤ºã•ã‚Œã¦ãŠã‚‰ãšã€ã€ŒViewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ä½¿ç”¨ã§ãã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
標準的ãªå‡ºåŠ›çµæžœã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚
エラーãŒã‚ã‚‹å ´åˆã¯ã€ã€ŒViewã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒError Listã€ã‚’é¸æŠžã—ã€ã‚¨ãƒ©ãƒ¼ã‚’ä¿®æ£ã—ã¾ã™ã€‚
「Debugã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒStart Without Debuggingã€ã‚’é¸æŠžã—ã¦ã€ã‚¢ãƒ—リケーションを実行ã—ã¾ã™ã€‚
Form1アプリケーションã®ã€ŒUser IDã€ã€ã€ŒPasswordã€ãŠã‚ˆã³ã€ŒData Sourceã€ã‚’入力ã—ã¾ã™ã€‚
「Connectã€ã‚’クリックã—ã¾ã™ã€‚
ã“ã‚Œã«ã‚ˆã‚Šã€ã‚¢ãƒ—リケーションã§tnsnames.ora
ファイルãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ 「NET接続ã®åˆ¥åã®æ§‹æˆã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
接続ãŒã‚ªãƒ¼ãƒ—ンã•ã‚ŒãŸã‚‰ã€ã€ŒConnectã€ãƒœã‚¿ãƒ³ã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚ã“ã‚Œã§ã€Oracle Databaseインスタンスã¸ã®æŽ¥ç¶šãŒæ£ã—ã実装ã•ã‚Œã¾ã—ãŸã€‚
アプリケーションã§ã¯ã€å®Ÿè¡Œæ™‚エラーをæ£å¸¸ã«å‡¦ç†ã§ãã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ ãŸã¨ãˆã°ã€é–“é•ã£ãŸãƒ‘スワードを使用ã—ã¦ãƒã‚°ã‚¤ãƒ³ã—よã†ã¨ã™ã‚‹ã¨ã€ã“ã“ã¾ã§ã«é–‹ç™ºã—ãŸã‚¢ãƒ—リケーションã§ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šã‚’確立ã§ããšã€ã€ŒORA-1017:
ユーザーå/パスワードãŒç„¡åŠ¹ã§ã™ã€‚ãƒã‚°ã‚ªãƒ³ã¯æ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨ã„ã†æœªå‡¦ç†ä¾‹å¤–エラーã§çµ‚了ã—ã¾ã™ã€‚
「Start Without Debuggingã€ã‚’å†åº¦é¸æŠžã—ã¦ã€åˆ¥ã®ãƒ‘スワードã§ãƒã‚°ã‚¤ãƒ³ã‚’試行ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
エラー処ç†ã§ã¯ã€ãƒ—ãƒã‚°ãƒ©ãƒ 実行ã®æ¨™æº–フãƒãƒ¼ã¨ã¯ç•°ãªã‚‹çŠ¶æ³ãŒç™ºç”Ÿã—ãŸå ´åˆã«ã€ãã®å¯¾å‡¦æ–¹æ³•ã‚’決定ã—ã¾ã™ã€‚ Oracle Data Provider for .NETã«ã¯ã€ã‚¨ãƒ©ãƒ¼ã‚’処ç†ãŠã‚ˆã³ã‚µãƒãƒ¼ãƒˆã™ã‚‹æ¬¡ã®3ã¤ã®ã‚¯ãƒ©ã‚¹ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
OracleError
クラスã¯ã€Oracleã«ã‚ˆã‚Šå ±å‘Šã•ã‚Œã‚‹è¦å‘Šã¾ãŸã¯ã‚¨ãƒ©ãƒ¼ã‚’表ã—ã¾ã™ã€‚
OracleErrorCollection
クラスã¯ã€Oracle Data Provider for .NETã«ã‚ˆã‚Šã‚¹ãƒãƒ¼ã•ã‚Œã‚‹ã™ã¹ã¦ã®ã‚¨ãƒ©ãƒ¼ã®é›†åˆã‚’表ã—ã¾ã™ã€‚ã“ã‚Œã¯ã€OracleError
ã®ãƒªã‚¹ãƒˆã‚’ä¿æŒã™ã‚‹å˜ç´”ãªArrayList
ã§ã™ã€‚
OracleException
クラスã¯ã€Oracle Data Provider for .NETã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸã¨ãã«ã‚¹ãƒãƒ¼ã•ã‚Œã‚‹ä¾‹å¤–を表ã—ã¾ã™ã€‚å„OracleException
オブジェクトã®ã€ŒErrorã€
プãƒãƒ‘ティã«ã¯ã€ã‚¨ãƒ©ãƒ¼ã¾ãŸã¯è¦å‘Šã‚’示ã™1ã¤ä»¥ä¸Šã®OracleError
オブジェクトãŒå«ã¾ã‚Œã¾ã™ã€‚
.NET言語ã§ã¯ã€ã‚¨ãƒ©ãƒ¼å‡¦ç†ã«Try-Catch-Finallyブãƒãƒƒã‚¯æ§‹é€ を使用ã—ã¾ã™ã€‚ã“ã®æ§‹é€ ã§ã¯ã€TryコードãŒãƒ¡ã‚¤ãƒ³ãƒ»ã‚³ãƒ¼ãƒ‰ã¨ãªã‚Šã€ã‚¢ãƒ—リケーションã§å®Ÿç¾ã™ã‚‹ç›®æ¨™ã«ãªã‚Šã¾ã™ã€‚次ã®2ã¤ã®é …ã§èª¬æ˜Žã™ã‚‹ã‚ˆã†ã«ã€Catchコードã§æ§˜ã€…ãªç¨®é¡žã®ã‚¨ãƒ©ãƒ¼ãŒå–å¾—ã•ã‚Œã¾ã™ã€‚最後ã«ã‚ã‚‹Finallyブãƒãƒƒã‚¯ã¯å¸¸ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
Finallyブãƒãƒƒã‚¯ã«ã¯ã€æŽ¥ç¶šã‚’クãƒãƒ¼ã‚ºã—ã¦ç ´æ£„ã™ã‚‹Dispose
メソッドãŒå«ã¾ã‚Œã‚‹ã“ã¨ãŒã‚ˆãã‚ã‚Šã¾ã™ã€‚Finallyブãƒãƒƒã‚¯ã«Dispose
メソッドを記述ã™ã‚‹ã¨ã€Try-Catch-Finallyブãƒãƒƒã‚¯ãŒå®Œäº†ã—ãŸå¾Œã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šã¯å¸¸ã«ã‚¯ãƒãƒ¼ã‚ºã•ã‚Œã¾ã™ã€‚アプリケーションã§ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚¢ã‚¯ã‚»ã‚¹ãŒä¸è¦ã«ãªã£ãŸå¾Œã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æŽ¥ç¶šã‚’クãƒãƒ¼ã‚ºã™ã‚‹ã“ã¨ã¯ã€ç‰¹ã«ãƒ‡ãƒ¼ã‚¿ãƒ»ã‚»ã‚ュリティãªã©ã€å¤šãã®ç†ç”±ã§é‡è¦ã§ã™ã€‚
クãƒãƒ¼ã‚ºã•ã‚Œã¦ã„るデータベース接続をクãƒãƒ¼ã‚ºã—よã†ã¨ã—ã¦ã‚‚エラーã¯ç™ºç”Ÿã—ã¾ã›ã‚“。ã“ã®è©¦è¡Œã¯é©åˆ‡ã§ãªã„よã†ã«æ€ã‚ã‚Œã¾ã™ã€‚ã—ã‹ã—ã€Dispose()
ã‚’Finallyコード・ブãƒãƒƒã‚¯ã«ç½®ãã“ã¨ã§ã€æŽ¥ç¶šãŒç¢ºå®Ÿã«ã‚¯ãƒãƒ¼ã‚ºã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
次ã®é …ã§ã¯ã€ä¸€èˆ¬çš„ãªã‚¨ãƒ©ãƒ¼ã§ã®Try-Catch-Finallyブãƒãƒƒã‚¯æ§‹é€ ã®ä½¿ç”¨æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚ãã®å¾Œã®é …ã§ã¯ã€Oracleエラーã§ã®ä½¿ç”¨æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
ã“ã®é …ã§ã¯ã€Try-Catch-Finallyブãƒãƒƒã‚¯ã‚’使用ã—ã¦ä¸€èˆ¬çš„ãªã‚¨ãƒ©ãƒ¼ã‚’処ç†ã™ã‚‹æ–¹æ³•ã‚’説明ã—ã¾ã™ã€‚
一般的ãªã‚¨ãƒ©ãƒ¼ã‚’処ç†ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
Try-Catch-Finally構文ã®å®Ÿè£…ã‚’è¿½åŠ ã—ã¦ã€Form1
ã®connect_Click()
メソッドã®ã‚³ãƒ¼ãƒ‰ã‚’変更ã—ã¾ã™ã€‚
æ–°ã—ã„コードã¯å¤ªå—ã§ç¤ºã—ã¦ã„ã¾ã™ã€‚
Visual C#:
private void connect_Click(object sender, EventArgs e) { conn.ConnectionString = "Data Source=ORCL;User Id=" + userID.Text + ";Password=" + password.Text + ";"; try { conn.Open(); connect.Enabled = false; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } finally { conn.Dispose(); } }
ã¾ãŸã¯ã€æ¬¡ã®ã‚ˆã†ã«using
ã‚ーワードを使用ã—ã¦ã€æœ‰åŠ¹ã§ãªããªã£ãŸæŽ¥ç¶šã‚’ç ´æ£„ã™ã‚‹C#構文を使用ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
using (OracleConnection conn = new OracleConnection()) { conn.Open(); // application code ... }
Visual Basic:
Try conn.Open() connect.Enabled = false Catch ex As Exception MessageBox.Show(ex.Message.ToString()) Finally conn.Dispose() End Try
「Buildã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒRebuild Solutionã€ã‚’é¸æŠžã—ã¾ã™ã€‚
エラーãŒãªã„ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
「Debugã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒStart Without Debuggingã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「アプリケーションã®ã‚³ãƒ³ãƒ‘イルã¨å®Ÿè¡Œã€ã®æ‰‹é †ã«å¾“ã£ã¦ã‚¢ãƒ—リケーションをå†åº¦å®Ÿè¡Œã—ã€é–“é•ã£ãŸãƒ‘スワードを使用ã—ã¦æŽ¥ç¶šã‚’試行ã—ã¾ã™ã€‚ 今度ã¯ã‚¢ãƒ—リケーションã§ã‚¨ãƒ©ãƒ¼ãŒå–å¾—ã•ã‚Œã€ãƒãƒƒãƒ—アップ・ウィンドウã«ã€ŒORA-1017:
ユーザーå/パスワードãŒç„¡åŠ¹ã§ã™ã€‚ãƒã‚°ã‚ªãƒ³ã¯æ‹’å¦ã•ã‚Œã¾ã—ãŸã€‚ã€ã¨è¡¨ç¤ºã•ã‚Œãˆwî¾ã™ã€‚
次ã«ç¤ºã™å®Œæˆã—ãŸTry-Catch-Finallyブãƒãƒƒã‚¯ãƒ»ã‚³ãƒ¼ãƒ‰ã§ã¯ã€OracleException
ãŒãªã„å ´åˆã¯ã€æœ€åˆã®Catchæ–‡ã®ãƒ–ランãƒãŒã‚¹ã‚ップã•ã‚Œã¾ã™ã€‚2番目ã®Catchæ–‡ã®ãƒ–ランãƒã§ã€ãã®ä»–ã®ã™ã¹ã¦ã®Exception
ãŒå–å¾—ã•ã‚Œã¾ã™ã€‚
最åˆã®Catchæ–‡ã«ã¯Case
æ–‡ãŒå«ã¾ã‚Œã¦ãŠã‚Šã€ã“ã‚Œã«ã‚ˆã‚Šä¸€èˆ¬çš„ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚¨ãƒ©ãƒ¼ãŒãƒˆãƒ©ãƒƒãƒ—ã•ã‚Œã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚ã‹ã‚Šã‚„ã™ã„方法ã§è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
2番目ã®Case
æ–‡ã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„å ´åˆã«ã€ç‰¹å®šã®OracleException
ãŒå–å¾—ã•ã‚Œã¾ã™ã€‚
特定ã®ã‚¨ãƒ©ãƒ¼ã‚’処ç†ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
データベース・インスタンスをåœæ¢ã—ã¾ã™ã€‚ 付録A「Oracle Databaseインスタンスã®èµ·å‹•ãŠã‚ˆã³åœæ¢ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
次ã®å¤ªå—ã§ç¤ºã•ã‚Œã¦ã„ã‚‹Catch
OracleException
ブãƒãƒƒã‚¯ã‚’ã€connect_Click()
メソッドã«ä»¥å‰ã«è¿½åŠ ã—ãŸCatch
Exception
ブãƒãƒƒã‚¯ã®å‰ã«è¿½åŠ ã—ã¾ã™ã€‚
Visual C#:
try { conn.Open(); connect.Enabled = false; } catch (OracleException ex) { switch (ex.Number) { case 1: MessageBox.Show("Error attempting to insert duplicate data."); break; case 12560: MessageBox.Show("The database is unavailable."); break; default: MessageBox.Show("Database error: " + ex.Message.ToString()); break; } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } finally { conn.Dispose(); } }
Visual Basic:
Try conn.Open() connect.Enabled = false Catch ex As OracleException ' catches only Oracle errors Select Case ex.Number Case 1 MessageBox.Show("Error attempting to insert duplicate data.") Case 12560 MessageBox.Show("The database is unavailable.") Case Else MessageBox.Show("Database error: " + ex.Message.ToString()) End Select Catch ex As Exception MessageBox.Show(ex.Message.ToString()) Finally conn.Dispose() End Try
「アプリケーションã®ã‚³ãƒ³ãƒ‘イルã¨å®Ÿè¡Œã€ã®æ‰‹é †ã«å¾“ã£ã¦ã‚¢ãƒ—リケーションをå†åº¦ã‚³ãƒ³ãƒ‘イルã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚
ORA-12560
エラーãŒã€ã‚¨ãƒ©ãƒ¼ç•ªå·ãªã—ã§ã€ŒThe
database
is
unavailable
ã€ã¨ã—ã¦ãƒãƒƒãƒ—アップ・ウィンドウã«è¡¨ç¤ºã•ã‚Œã‚‹ã“ã¨ã‚’確èªã—ã¾ã™ã€‚
データベース・インスタンスをå†èµ·å‹•ã—ã¾ã™ã€‚ 付録A「Oracle Databaseインスタンスã®èµ·å‹•ãŠã‚ˆã³åœæ¢ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
2æ—¥ã§.NET開発者ガイド
11gリリース2(11.2)
部å“番å·: B56266-01(原本部å“番å·:E10767-01)
2009年11月
Oracle Database 2æ—¥ã§.NET開発者ガイド, 11gリリース2(11.2)
部å“番å·: B56266-01
Oracle Database 2 Day + .NET Developer's Guide, 11g Release 2 (11.2)
原本部å“番å·: E10767-01
原本著者: Janis Greenbergã€Roza Leyderman
原本å”力者: John Paul Cookã€Mark Williamsã€Alex Kehã€Christian Shay
Copyright © 2006, 2009, Oracle and/or its affiliates. All rights reserved.
制é™ä»˜æ¨©åˆ©ã®èª¬æ˜Ž
ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ãŠã‚ˆã³é–¢é€£ãƒ‰ã‚ュメントã®ä½¿ç”¨ã¨é–‹ç¤ºã¯ã€ãƒ©ã‚¤ã‚»ãƒ³ã‚¹å¥‘ç´„ã®åˆ¶ç´„æ¡ä»¶ã«å¾“ã†ã‚‚ã®ã¨ã—ã€çŸ¥çš„財産ã«é–¢ã™ã‚‹æ³•å¾‹ã«ã‚ˆã‚Šä¿è·ã•ã‚Œã¦ã„ã¾ã™ã€‚ ライセンス契約ã§æ˜Žç¤ºçš„ã«è¨±è«¾ã•ã‚Œã¦ã„ã‚‹å ´åˆã‚‚ã—ãã¯æ³•å¾‹ã«ã‚ˆã£ã¦èªã‚られã¦ã„ã‚‹å ´åˆã‚’除ãã€å½¢å¼ã€æ‰‹æ®µã«é–¢ä¿‚ãªãã€ã„ã‹ãªã‚‹éƒ¨åˆ†ã‚‚使用ã€è¤‡å†™ã€è¤‡è£½ã€ç¿»è¨³ã€æ”¾é€ã€ä¿®æ£ã€ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ä¾›ä¸Žã€é€ä¿¡ã€é…布ã€ç™ºè¡¨ã€å®Ÿè¡Œã€å…¬é–‹ã¾ãŸã¯è¡¨ç¤ºã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒªãƒãƒ¼ã‚¹ãƒ»ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ãƒªãƒ³ã‚°ã€é€†ã‚¢ã‚»ãƒ³ãƒ–ルã€é€†ã‚³ãƒ³ãƒ‘イルã¯äº’æ›æ€§ã®ãŸã‚ã«æ³•å¾‹ã«ã‚ˆã£ã¦è¦å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã‚’除ãã€ç¦æ¢ã•ã‚Œã¦ã„ã¾ã™ã€‚
ã“ã“ã«è¨˜è¼‰ã•ã‚ŒãŸæƒ…å ±ã¯äºˆå‘Šãªã—ã«å¤‰æ›´ã•ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã¾ãŸã€èª¤ã‚ŠãŒç„¡ã„ã“ã¨ã®ä¿è¨¼ã¯ã„ãŸã—ã‹ãã¾ã™ã€‚ 誤りを見ã¤ã‘ãŸå ´åˆã¯ã€ã‚ªãƒ©ã‚¯ãƒ«ç¤¾ã¾ã§ã”連絡ãã ã•ã„。
ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¾ãŸã¯é–¢é€£ãƒ‰ã‚ュメントãŒã€ç±³å›½æ”¿åºœæ©Ÿé–¢ã‚‚ã—ãã¯ç±³å›½æ”¿åºœæ©Ÿé–¢ã«ä»£ã‚ã£ã¦ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¾ãŸã¯é–¢é€£ãƒ‰ã‚ュメントをライセンスã•ã‚ŒãŸè€…ã«æä¾›ã•ã‚Œã‚‹å ´åˆã¯ã€æ¬¡ã®NoticeãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚
U.S. GOVERNMENT RIGHTS
Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯æ§˜ã€…ãªæƒ…å ±ç®¡ç†ã‚¢ãƒ—リケーションã§ã®ä¸€èˆ¬çš„ãªä½¿ç”¨ã®ãŸã‚ã«é–‹ç™ºã•ã‚ŒãŸã‚‚ã®ã§ã™ã€‚ ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ã€å±é™ºãŒä¼´ã†ã‚¢ãƒ—リケーション(人的傷害を発生ã•ã›ã‚‹å¯èƒ½æ€§ãŒã‚るアプリケーションをå«ã‚€ï¼‰ã¸ã®ç”¨é€”を目的ã¨ã—ã¦é–‹ç™ºã•ã‚Œã¦ã„ã¾ã›ã‚“。 ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’å±é™ºãŒä¼´ã†ã‚¢ãƒ—リケーションã§ä½¿ç”¨ã™ã‚‹éš›ã€ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’安全ã«ä½¿ç”¨ã™ã‚‹ãŸã‚ã«ã€é©åˆ‡ãªå®‰å…¨è£…ç½®ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã€å†—長性(redundancy)ã€ãã®ä»–ã®å¯¾ç–を講ã˜ã‚‹ã“ã¨ã¯ä½¿ç”¨è€…ã®è²¬ä»»ã¨ãªã‚Šã¾ã™ã€‚ ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’å±é™ºãŒä¼´ã†ã‚¢ãƒ—リケーションã§ä½¿ç”¨ã—ãŸã“ã¨ã«èµ·å› ã—ã¦æ害ãŒç™ºç”Ÿã—ã¦ã‚‚ã€ã‚ªãƒ©ã‚¯ãƒ«ç¤¾ãŠã‚ˆã³ãã®é–¢é€£ä¼šç¤¾ã¯ä¸€åˆ‡ã®è²¬ä»»ã‚’è² ã„ã‹ãã¾ã™ã€‚
Oracleã¯Oracle CorporationãŠã‚ˆã³ãã®é–¢é€£ä¼æ¥ã®ç™»éŒ²å•†æ¨™ã§ã™ã€‚ ãã®ä»–ã®å称ã¯ã€ãã‚Œãžã‚Œã®æ‰€æœ‰è€…ã®å•†æ¨™ã¾ãŸã¯ç™»éŒ²å•†æ¨™ã§ã™ã€‚
ã“ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ãŠã‚ˆã³ãƒ‰ã‚ュメントã¯ã€ç¬¬ä¸‰è€…ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã€è£½å“ã€ã‚µãƒ¼ãƒ“スã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã€ã‚ã‚‹ã„ã¯ãれらã«é–¢ã™ã‚‹æƒ…å ±ã‚’æä¾›ã™ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ オラクル社ãŠã‚ˆã³ãã®é–¢é€£ä¼šç¤¾ã¯ã€ç¬¬ä¸‰è€…ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã€è£½å“ã€ã‚µãƒ¼ãƒ“スã«é–¢ã—ã¦ä¸€åˆ‡ã®è²¬ä»»ã‚’è² ã‚ãšã€ã„ã‹ãªã‚‹ä¿è¨¼ã‚‚ã„ãŸã—ã¾ã›ã‚“。 オラクル社ãŠã‚ˆã³ãã®é–¢é€£ä¼šç¤¾ã¯ã€ç¬¬ä¸‰è€…ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã€è£½å“ã€ã‚µãƒ¼ãƒ“スã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã¾ãŸã¯ä½¿ç”¨ã«ã‚ˆã£ã¦æ失ã€è²»ç”¨ã€ã‚ã‚‹ã„ã¯æ害ãŒç™ºç”Ÿã—ã¦ã‚‚ã€ä¸€åˆ‡ã®è²¬ä»»ã‚’è² ã„ã‹ãã¾ã™ã€‚
データベースã®åœæ¢ã‚„å†èµ·å‹•ã¯é »ç¹ã«å¿…è¦ã«ãªã‚‹æ“作ã§ã™ã€‚
Oracle Databaseインスタンスを起動ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
「スタートã€ãƒœã‚¿ãƒ³ã‹ã‚‰ã€ã€Œãƒ—ãƒã‚°ãƒ©ãƒ ã€ã€ã€Œç®¡ç†ãƒ„ールã€ã€ã€Œã‚µãƒ¼ãƒ“スã€ã®é †ã«é¸æŠžã—ã€OracleServiceDatabaseNameã‚’é¸æŠžã—ã¾ã™ã€‚DatabaseNameã¯tnsnames.ora
ファイルã§ç¤ºã•ã‚Œã¦ã„るデータベースã®service_name
ã§ã™ã€‚ 詳細ã¯ã€ã€ŒNET接続ã®åˆ¥åã®æ§‹æˆã€å‚ç…§ã—ã¦ãã ã•ã„。
å·¦å´ã®ãƒ‘ãƒãƒ«ã§ã€ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ã€ã‚µãƒ¼ãƒ“スを開始ã—ã¾ã™ã€‚
データベース・サービスãŒé–‹å§‹ã•ã‚Œã€ã€Œãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®èµ·å‹•ã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚「OracleService service was started successfullyã€
ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã¾ã§ã€æ“作ã¯è¡Œã‚ãªã„ã§ãã ã•ã„。
Oracle Databaseインスタンスをåœæ¢ã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
「スタートã€ãƒœã‚¿ãƒ³ã‹ã‚‰ã€ã€Œãƒ—ãƒã‚°ãƒ©ãƒ ã€ã€ã€Œç®¡ç†ãƒ„ールã€ã€ã€Œã‚µãƒ¼ãƒ“スã€ã®é †ã«é¸æŠžã—ã€OracleServiceDatabaseNameã‚’é¸æŠžã—ã¾ã™ã€‚
å·¦å´ã®ãƒ‘ãƒãƒ«ã§ã€ãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ã€ã‚µãƒ¼ãƒ“スをåœæ¢ã—ã¾ã™ã€‚
データベースã®åœæ¢ãŒé–‹å§‹ã•ã‚Œã€ã€Œãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®åœæ¢ã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚「OracleService service was stopped successfullyã€
ã¨ã„ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•ã‚Œã‚‹ã¾ã§ã€æ“作ã¯è¡Œã‚ãªã„ã§ãã ã•ã„。
Oracleを使用ã—ãŸã‚¢ãƒ—リケーション開発ã®æ§˜ã€…ãªå´é¢ã«ã¤ã„ã¦å¦ç¿’ã™ã‚‹ãŸã‚ã«ã€ã“ã®ã‚¢ãƒ—リケーションを使用ã™ã‚‹éš›ã¯ã€ãƒ•ã‚©ãƒ¼ãƒ をコピーã—ã¦å†åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒå¿…è¦ã«ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
æ—¢å˜ã®ãƒ•ã‚©ãƒ¼ãƒ ã®ã‚³ãƒ”ーを作æˆã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã—ã¾ã™ã€‚
Solution Explorerã§ã€ã‚³ãƒ”ーã™ã‚‹å¿…è¦ã®ã‚ã‚‹Form
1
.xx
ã¾ãŸã¯ãã®ä»–ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚「Copyã€ã‚’é¸æŠžã—ã¾ã™ã€‚
Form
1
.xx
ãŒSolution Explorerã«è¡¨ç¤ºã•ã‚Œãªã„å ´åˆã¯ã€ã€ŒProjectã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ã€ŒShow All Filesã€ã‚’é¸æŠžã—ã¾ã™ã€‚
HR_Connect_CSã¾ãŸã¯ãã®ä»–ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚「Pasteã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Copy of Form1.csã€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚「Renameã€ã‚’é¸æŠžã—ã¾ã™ã€‚フォームã®åå‰ã‚’Form2.csã«å¤‰æ›´ã—ã¾ã™ã€‚
「Form2.csã€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ã€ŒInclude In Projectã€ã‚’é¸æŠžã—ã¾ã™ã€‚
「Form1.csã€
ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€ã€ŒExclude From Projectã€ã‚’é¸æŠžã—ã¾ã™ã€‚
ã“れらã®æ‰‹é †ã‚’逆ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ã§ã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã«ãƒ•ã‚©ãƒ¼ãƒ ã‚’å«ã‚ãŸã‚Šã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰ãƒ•ã‚©ãƒ¼ãƒ を除外ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
注æ„: 通常ã€ã“ã®ãƒ—ãƒã‚»ã‚¹ã¯å•é¡Œãªãè¡Œã‚ã‚Œã¾ã™ã€‚å•é¡ŒãŒç™ºç”Ÿã—ãŸå ´åˆã¯ã€ã€ŒBuildã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰ã€ŒRebuild Solutionã€ã‚’実行ã™ã‚‹æ–¹æ³•ã‚’試ã—ã¦ãã ã•ã„。 |