Vertica使用心得

2021-06-08 02:33:51 字數 2744 閱讀 7100

對於連線vertica,使用squirrel(6.0.0_vertica-jdk5-6.0.0-0.jar)來進行連線,也使用vsql(6.0.0_vertica-client-6.0.0-0.64.exe)進行連線。 

varchar(25) mean 25 bytes(octets)

vertica中是使用utf8來儲存,對於非英語字元,如漢字會占用多個位元組,要合理計算欄位的長度。

對c#開發,示例如下:

1) 單條語句

verticaconnection conn = dbhelper.getconnection();

idbcommand cmddel = conn.createcommand();

cmddel.commandtype = commandtype.text;

cmddel.commandtext = "delete from dbo.testtable1 where id=:id";

dbhelper.addparameter(cmddel, "id", dbtype.int64, id);

cmddel.executenonquery();

2) 大批量操作

datatable dt = new datatable();

dt.columns.add("id", typeof(int));

dt.columns.add("name", typeof(string));

dt.columns.add("isok", typeof(string));

dt.columns.add("score", typeof(double));

dt.columns.add("score1", typeof(double));

dt.columns.add("score2", typeof(double));

dt.rows.add(new object );

dt.rows.add(new object );

dt.rows.add(new object );

dbhelper.bulkcopy(dt, "dbo.testbulk");

public class dbhelper

public static void addparameter(idbcommand cmd, string parametername, dbtype parametertype, object parameterval)

public static void clearconnection()

}catch (exception ex)

}public static void bulkcopy(datatable dt, string strtablename)

if (dt.columns.count == 0)

listlstfield = new list();

for (int colindex = 0; colindex < dt.columns.count; colindex++)

string strfiledlist = string.format("()", string.join(",", lstfield.toarray()));

const char rowsplit = '\n';

const char colsplit = '\t';

string strcopystatement = string.format("copy from stdin record terminator e'' delimiter e'' enforcelength no commit",

strtablename, strfiledlist, rowsplit, colsplit);

string strtemp = sbtext.tostring();

byte buff = encoding.default.getbytes(strtemp);

using (memorystream ms = new memorystream())

else

}ms.close();}}

private static string getdatastring(datarow dr, int colindex)

return strval;

}copy dbo.testbulk(id, name, message) from local 'd:\\test.txt' record terminator e'\n' delimiter e'\t'  enforcelength exceptions 'd:\\exception_20120807.log';

use copy with the filler keyword to skip the year, month, and day columns from the source file:

copy t(year filler varchar(10),

month filler varchar(10),

day filler varchar(10),

k as to_date(year || month || day, 'yyyymmdd') )

from stdin no commit

skip the autogenid column from the source file

copy t(autogenid filler bigint,

eventvalue )

from stdin no commit

另外,vertica中使用count時要注意,count會排除為null的記錄。

frameset 使用心得

欲明白本篇 html徹底剖析 之標記分類,請看 標記一覽 也請先明白圍堵標記與空標記的分別,請看 html概念 框架概念 謂框架便是網頁畫面分成幾個框窗,同時取得多個 url。只需要 即可,面所有框架標記需要放在乙個總起的 html 檔,這個檔案只記錄了該框架如何分割 不會顯示任何資料,所以不必放入...

Access使用心得

今天臨時用access做資料庫,長期用sql server開發習慣了,總結一下現在為止用到的比較大的差異,以後有新的再補了 1 返回字串長度 len s lenb s 前者返回字元數,後者返回位元組數,並且access中text型別字元統一為2位元組,與sql2000不同。2 join的使用 acc...

vmware使用心得

成功在winxp環境中安裝了vista business版本,反之,亦然。可以建立工作組網路連線了,虛擬機器也可以訪問網際網路了。安裝說明 在安裝嚮導中,無論使用哪種網路連線形式,都不影響正確安裝。安裝後,可以編輯本地機和虛擬機器之間的網路連線形式。需要注意三個細節問題 1 網絡卡要設定為 電源啟動...