SYSCS_UTIL.SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILEシステム手続ã??を使ã?£ã?¦è¡¨ã?«ã?‚る列ã?«ã‚¤ãƒ³ãƒ?ートã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?“ã?®ã?¨ã??LOBã?®ãƒ‡ãƒ¼ã‚¿ã?¯åˆ¥ãƒ•ァイルã?‹ã‚‰åˆ†ã?‘ã?¦ã‚¤ãƒ³ãƒ?ートã?•れã?¾ã?™ã€‚
主ã?¨ã?ªã‚‹ã‚¤ãƒ³ãƒ?ートファイルã?«ã?¯ã€?LOBã?®æƒ…å ±ã?Œã?‚ã‚‹å ´æ‰€ã?¸ã?®å?‚ç…§ã?¨ä»–ã?®å…¨ãƒ‡ãƒ¼ã‚¿ã?Œç½®ã?‹ã‚Œã?¾ã?™ã€‚
æ§‹æ–‡
SYSCS_UTIL.SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE (
IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128),
IN INSERTCOLUMNS VARCHAR(32672),
IN COLUMNINDEXES VARCHAR(32672),
IN FILENAME VARCHAR(32672),
IN COLUMNDELIMITER CHAR(1),
IN CHARACTERDELIMITER CHAR(1),
IN CODESET VARCHAR(128),
IN REPLACE SMALLINT)
)
インãƒ?ートユーティリティã?¯LOBã?®æƒ…å ±ã?Œã?‚ã‚‹å ´æ‰€ã?¸ã?®å?‚照を主ã?¨ã?ªã‚‹ã‚¤ãƒ³ãƒ?ートファイルã?‹ã‚‰æŽ¢ã?—ã?¾ã?™ã€‚
- SCHEMANAME
- 表ã?®ã‚¹ã‚ーマを指定ã?—ã?¾ã?™ã€‚既定ã?®ã‚¹ã‚ーマå??を利用ã?™ã‚‹ã?Ÿã‚?ã?«ã€?NULLã?®å€¤ã‚’指定ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚
SCHEMANAMEパラメータ��VARCHAR (128)型�引数を入力��り��。
- TABLENAME
- æƒ…å ±ã?Œã‚¤ãƒ³ãƒ?ートã?•れる表ã?®å??å‰?を指定ã?—ã?¾ã?™ã€‚
表�システム表や一時表������り��ん。
æ–‡å—列ã?¯è¡¨å??ã?¨å¤§æ–‡å—å°?æ–‡å—ã?Œä¸€è‡´ã?—ã?¦ã?„ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。NULL値を指定ã?™ã‚‹ã?¨ã‚¨ãƒ©ãƒ¼ã?¨ã?ªã‚Šã?¾ã?™ã€‚
TABLENAMEパラメータ��VARCHAR (128)型�引数を入力��り��。
- INSERTCOLUMNS
- æƒ…å ±ã?Œã‚¤ãƒ³ãƒ?ートã?•れる表ã?®åˆ—ã?®å??å‰?ã‚’ã€?コンマã?§åŒºåˆ‡ã?£ã?¦æŒ‡å®šã?—ã?¾ã?™ã€‚
表ã?®å…¨åˆ—ã?¸ã‚¤ãƒ³ãƒ?ートã?™ã‚‹å ´å?ˆã€?NULL値を指定ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚
INSERTCOLUMNSパラメータ��VARCHAR (32672)型�引数を入力��り��。
- COLUMNINDEXES
- 入力ã?•ã‚Œã‚‹æƒ…å ±ã?®ã?†ã?¡ã€?インãƒ?ートã?•れる欄ã?®åˆ—番å?·(1ã?‹ã‚‰æ•°ã?ˆã?¾ã?™ã€‚)をコンマã?§åŒºåˆ‡ã?£ã?¦æŒ‡å®šã?—ã?¾ã?™ã€‚
ファイルã?®å…¨æ¬„を指定ã?™ã‚‹å ´å?ˆã€?NULL値を指定ã?™ã‚‹ã?“ã?¨ã‚‚ã?§ã??ã?¾ã?™ã€‚COLUMNINDEXESパラメータã?¯ã€?VARCHAR (32762)åž‹ã?®å¼•数を入力ã?«ã?¨ã‚Šã?¾ã?™ã€‚
- FILENAME
- インãƒ?ートã?™ã‚‹æƒ…å ±ã?®ã?‚るファイルã?®å??å‰?を指定ã?—ã?¾ã?™ã€‚パスã?Œçœ?ç•¥ã?•れã?Ÿå ´å?ˆã€?ç?¾åœ¨ã?®ä½œæ¥ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã?Œä½¿ã‚?れã?¾ã?™ã€‚ãƒ?ットワークサーãƒ?ã?§åˆ©ç”¨ã?™ã‚‹å ´å?ˆã€?ファイルã?®ä½?ç½®ã?¯ã‚µãƒ¼ãƒ?サイドã?®ä½?置をå?‚ç…§ã?—ã?¾ã?™ã€‚
NULLを指定�る�エラー��り��。
fileNameパラメータ��VARCHAR (32672)型�引数を入力��り��。
- COLUMNDELIMITER
- 列ã?®ãƒ‡ãƒªãƒŸã‚¿ã‚’指定ã?—ã?¾ã?™ã€‚指定ã?•れã?Ÿæ–‡å—ã?¯ã‚³ãƒ³ãƒžã?®ä»£ã‚?りã?«åˆ—ã?®çµ‚ã‚?りを表ã?—ã?¾ã?™ã€‚既定値ã?®ã‚³ãƒ³ãƒžã‚’利用ã?™ã‚‹å ´å?ˆã€?NULL値を指定ã?§ã??ã?¾ã?™ã€‚
COLUMNDELIMITERパラメータ��CHAR (1)型�引数を入力��り��。
- CHARACTERDELIMITER
- æ–‡å—ã?®ãƒ‡ãƒªãƒŸã‚¿ã‚’指定ã?—ã?¾ã?™ã€‚指定ã?•れã?Ÿæ–‡å—ã?¯äºŒé‡?引用符ã?®ä»£ã‚?りã?«åˆ—ã?®çµ‚ã‚?りを表ã?—ã?¾ã?™ã€‚既定値ã?®äºŒé‡?引用符を利用ã?™ã‚‹å ´å?ˆã€?NULL値を指定ã?§ã??ã?¾ã?™ã€‚
CHARACTERDELIMITERパラメータ��
CHAR (1)型�引数を入力��り��。
- CODESET
- 入力ファイルä¸ã?®æƒ…å ±ã?®ã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆã‚’指定ã?—ã?¾ã?™ã€‚コードセットã?®å??å‰?ã?¯Javaã?§åˆ©ç”¨å?¯èƒ½ã?ªæ–‡å—円コーディングã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。
æƒ…å ±ã?¯æŒ‡å®šã?•れã?Ÿã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆã?‹ã‚‰ã€?データベースã?®ã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆ(UTF-8)ã?¸ã?¨å¤‰æ?›ã?•れã?¾ã?™ã€‚
実行ã?™ã‚‹JVMã?¨å?Œã?˜ã‚³ãƒ¼ãƒ‰ã‚»ãƒƒãƒˆã?§ãƒ‡ãƒ¼ã‚¿ãƒ•ァイルを解釈ã?™ã‚‹å ´å?ˆã€?NULL値を指定ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚
CODESETパラメータ��VARCHAR (128)データ型を入力��り��。
- REPLACE
- ��パラメータ�0以外�値を指定�る��イン�ート�REPLACEモード�行�れ��。一方�0を指定�る��イン�ート�INSERTモード�行�れ��。
REPLACEモードã?§ã?¯è¡¨ã?«ã?‚ã‚‹æ—¢å˜ã?®æƒ…å ±ã?¯ã?™ã?¹ã?¦åˆ‡ã‚Šæ?¨ã?¦ã‚‰ã‚Œã?Ÿã?®ã?¡ã€?インãƒ?ートã?—ã?Ÿæƒ…å ±ã?ŒæŒ¿å…¥ã?•れã?¾ã?™ã€‚
表ã?®å®šç¾©ã‚„索引ã?®å®šç¾©ã?«ã?¯å¤‰æ›´ã?Œã?‚りã?¾ã?›ã‚“。表ã?Œæ—¢ã?«ã?‚ã‚‹å ´å?ˆã?®ã?¿ã€?REPLACEモードã?§æƒ…å ±ã‚’ã‚¤ãƒ³ãƒ?ートã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚INSERTモードã?§ã?¯æ—¢å˜ã?®è¡¨ã?®æƒ…å ±ã?«å¤‰æ›´ã‚’åŠ ã?ˆã?šã?«ã€?インãƒ?ートã?—ã?Ÿæƒ…å ±ã‚’è¿½åŠ ã?—ã?¾ã?™ã€‚
パラメータ�NULL値を指定�る�エラー�発生���。
REPLACEパラメータ��SMALLINTデータ型を入力��り��。
デリミトã?•れã?ªã?„è˜åˆ¥å?ã?§ã‚¹ã‚ーマã€?表ã€?列ã?Œä½œæˆ?ã?•れã?Ÿå ´å?ˆã€?インãƒ?ートã?®æ‰‹ç¶šã??ã?«æ¸¡ã?™å??å‰?ã?¯ã?™ã?¹ã?¦å¤§æ–‡å—ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。
デリミトã?•れã?Ÿè˜åˆ¥å?ã?§ã‚¹ã‚ーマã€?表ã€?列ã?Œä½œæˆ?ã?•れã?Ÿå ´å?ˆã€?インãƒ?ートã?®æ‰‹ç¶šã??ã?«æ¸¡ã?™å??å‰?ã?¯ä½œæˆ?ã?•れã?Ÿå??å‰?ã?¨å¤§æ–‡å—ã?¨å°?æ–‡å—ã?Œä¸€è‡´ã?—ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。
使�方
ã?“ã?®æ‰‹ç¶šã??ã?¯ä¸»ã?¨ã?ªã‚‹ã‚¤ãƒ³ãƒ?ートファイルã?«æ›¸ã?‹ã‚Œã?Ÿå?‚照を使ã?£ã?¦ã€?LOBã?®æƒ…å ±ã‚’èªã?¿ã?¾ã?™ã€‚
主��るイン�ートファイル�書�れ�LOB���照��lobsFileName.Offset.length/���書��決������。
- Offsetã?¯å¤–部ファイルä¸ã?®ãƒ?イト数ã?§æ•°ã?ˆã?Ÿä½?ç½®ã?§ã?™ã€‚
- lengthã?¯ãƒ?イト数ã?§æ•°ã?ˆã?ŸLOB列ã?®æƒ…å ±ã?®é•·ã?•ã?§ã?™ã€‚
ã?“ã?®æ‰‹ç¶šã??ã?®ä½¿ã?„æ–¹ã?«ã?¤ã?„ã?¦ã?¯ã€?Derby ツールã?¨ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ¼ã‚¬ã‚¤ãƒ‰ã?®ã€Œãƒ?ルクインãƒ?ートã?¨ã‚¨ã‚¯ã‚¹ãƒ?ートã?®æ‰‹ç¶šã??を使ã?†ã€?ã?®ç« ã‚‚å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。
指定��列�データをイン�ート�る例。LOBデータ�別ファイル�らイン�ート�れる。
以下ã?®ä¾‹ã?§ã?¯ã€?STAFF表ã?®ã?„ã??ã?¤ã?‹ã?®åˆ—ã?«æƒ…å ±ã‚’ã‚¤ãƒ³ãƒ?ートã?™ã‚‹æ–¹æ³•を示ã?—ã?¾ã?™ã€‚
STAFF表��サンプルデータベース�LOB列��り��。
イン�ートファイル�
staff.del��デリミト�れ�データファイル��。
staff.delファイル���LOBデータ�書�れ�外部ファイル���照�書�れ��。
入力ファイルã?®æƒ…å ±ã?¯ã€?æ–‡å—ã?®ãƒ‡ãƒªãƒŸã‚¿ã?ŒäºŒé‡?引用符(")ã€?列ã?®ãƒ‡ãƒªãƒŸã‚¿ã?Œã‚³ãƒ³ãƒž(')ã?¨ã?„ã?†æ›¸å¼?ã?¨ã?ªã?£ã?¦ã?„ã?¾ã?™ã€‚
インãƒ?ートã?—ã?Ÿæƒ…å ±ã?¯STAFF表ã?®æ—¢å˜ã?®æƒ…å ±ã?«è¿½åŠ ã?•れã?¾ã?™ã€‚
CALL SYSCS_UTIL.SYSCS_IMPORT_DATA_LOBS_FROM_EXTFILE
(null, 'STAFF', 'NAME,DEPT,SALARY,PICTURE', '2,3,4,6',
+ 'c:ï¼¼dataï¼¼staff.del', ',','"','UTF-8', 0);