我想了解在我的Informix数据库上使用.unl
后生成的dbexport
文件的命名约定适用的规则是什么。
我理解:
tbabc01234.unl
,如果表名为tbabcdef
)。 tby__01234.unl
,如果表名为tby
)
我想了解5个数字是什么意思。有没有办法保证列表按字母顺序生成?
答案 0 :(得分:2)
卸载文件中使用的5位数字是表格的tabid
。
我不相信有办法保证列表按字母顺序生成。
The dbexport and dbimport utilities
要获取表的tabid
,请查询systables系统目录表:
SELECT tabname, tabid
FROM systables
WHERE tabname = '<TABNAME>';
对于给定的列表:
SELECT tabname, tabid
FROM systables
WHERE tabname IN (
'<TABNAME1>',
'<TABNAME2>',
'<TABNAME3>',
...
)
ORDER BY tabid;
对于所有用户表:
SELECT tabname, tabid
FROM systables
WHERE tabid > 99
AND tabtype = 'T'
ORDER BY tabid;
毋庸置疑,您可以按tabid
反转搜索:
SELECT tabname, tabid
FROM systables
WHERE tabid = '<TABNAME>';
SELECT tabname, tabid
FROM systables
WHERE tabid IN (
101,
102,
103,
...
)
ORDER BY tabid;
一种映射方式是:
SELECT tabname,
tabid,
RPAD(SUBSTR(tabname,0, 5), 5, '_')||tabid||'.unl' AS unl_file,
FROM systables
WHERE tabid > 99
AND tabtype = 'T'
ORDER BY tabid;
对于这是一个好方法的问题,它取决于一些问题:
ss
选项时,存储子句会提到dbspace。例如,如果您有一个包含1000个表的数据库并且只想要10个,那么从dbschema中提取模式然后执行unload数据会更容易。
以下是引擎附带的Data migration utilities列表的链接。