--裝置表
update my_dev_tab set description = 'dummy'
where description is
null
or description = '';
--列字典表
update my_col_dict set col_name_chn = 'dummy'
where col_name_chn is
null
or col_name_chn = '';
--列字典表
update my_col_dict set col_order = unique_int where col_order is
null;
清空或刪除db_health表。
2.從pg匯出資料為sql語句指令碼。
pg_dump--
dbname=my_db_name--
host=my_host_ip_addr--
username=my_username--
no-password--
data
-only--
exclude
-table
-data=my_exclude_tables--
inserts--
column
-inserts--
encoding=utf8--
disable
-dollar
-quoting--
file=data_only_insert_sql
.backup
set statement_timeout = 0;
set lock_timeout = 0;
set client_encoding = 'utf8';
set standard_conforming_strings = on;
set check_function_bodies = false;
set client_min_messages = warning;
set row_security = off;
set search_path = smartsys, pg_catalog;
改為
set client_encoding = 'utf8';
set standard_conforming_strings = on;
set check_function_bodies = false;
set client_min_messages = warning;
set search_path = smartsys;
4.清理kingbase中表的資料。
select出schema中所有的表,生成truncate語句。然後執行之。
isql -d my_db_name -h host_ip -p
54321
-u my_user_name -w my_password -f
1_ctuncate_tabs.sql
5.禁用kingbase中的insert觸發器。
如果需要,先建立儲存過程。然後執行之。
create
or replace procedure
disable_all_insert_triggers
()as
declare
trigger_cur
refcursor;
trigger_name_var varchar(128);
table_name_var varchar(128);
sql_var varchar(1024);
begin
open trigger_cur for
select trigger_name, event_object_table from information_schema.triggers where event_manipulation = 'insert'
and trigger_name like 'ti_%';
loop
fetch trigger_cur into trigger_name_var, table_name_var;
exit when trigger_cur%notfound;
sql_var = 'alter table '||table_name_var||' disable trigger '||trigger_name_var;
raise notice '%', sql_var;
execute immediate sql_var;
endloop;
close trigger_cur;
end;
call disable_all_insert_triggers();
6.執行sql語句指令碼匯入資料,並記錄日誌。
isql -d my_db_name -h host_ip -p
54321
-u my_user_name -w my_password -f
1_data_only_utf8.sql > imp_2_kdb.
log2
>&
1
7.啟用kingbase中的insert觸發器。
如果需要,先建立儲存過程。然後執行之。
create
or replace procedure
enable_all_insert_triggers
()as
declare
trigger_cur
refcursor;
trigger_name_var varchar(128);
table_name_var varchar(128);
sql_var varchar(1024);
begin
open trigger_cur for
select trigger_name, event_object_table from information_schema.triggers where event_manipulation = 'insert'
and trigger_name like 'ti_%';
loop
fetch trigger_cur into trigger_name_var, table_name_var;
exit when trigger_cur%notfound;
sql_var = 'alter table '||table_name_var||' enable trigger '||trigger_name_var;
execute immediate sql_var;
endloop;
close trigger_cur;
end;
call enable_all_insert_triggers();
8.檢查匯入結果。
檢查記錄數:開啟sql指令碼檔案1_data_only_utf8.sql,統計其中出現「insert into 」的次數;開啟日誌檔案imp_2_kdb.log,統計其中出現「insert 0 1」的次數。兩者應相等。同時確認日誌檔案中沒有出現「error」、「warn」、「錯誤」、「警告」等字樣。
檢查中文亂碼:開啟一張含有中文的表,肉眼檢查一下中文字段是否為亂碼。
go 通過odbc獲取kingbase資料庫資訊
kingbasees 8 odbc driver description kingbasees 8 odbc driver for linux driver xx xx xx kingbase odbc linux x86 64 kdbodbcw.so setup xx xx xx kingbase...
tomcat向weblogic移植需要注意的問題
1.在開發階段,對應用程式熱部署時,會丟擲classcastexception異常,這是因為類載入器的原因,因為在對程式熱部署會由不同的類載入器載入同乙個類,解決辦法 重啟weblogic或在console中web模組配置中對問題程式點選重新部署 2.用frameset實現的框架頁面,其中的頁面有時...
pg學習 資料更新
資料更新 1 插入 語法結構 highgo h insert command insert description create new rows in a table syntax with recursive with query insert into table name column na...