.NET Connector
ํ๋ | ์ค๋ช |
---|---|
State | System.Data.ConnectionState ๊ฐ์ ๋ํ๋ธ๋ค. |
StatusString | ์ฐ๊ฒฐ๋ MachCommand ๋ก ์ํํ๋ ์ํ๋ฅผ ๋ํ๋ธ๋ค. Error Message ๋ฅผ ๊พธ๋ฏธ๋ ์ฉ๋๋ก ๋ด๋ถ์์ ์ฌ์ฉ๋๋ฉฐ, ์์ ์ด ์์๋ ์ํ๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ์ด ๊ฐ์ผ๋ก ์ฟผ๋ฆฌ ์ํ๋ฅผ ์ฒดํฌํ๋ ๊ฒ์ ์ ์ ํ์ง ์๋ค. |
Database | (๋ฏธ๊ตฌํ) |
DataSource | (๋ฏธ๊ตฌํ) |
ServerVersion | (๋ฏธ๊ตฌํ) |
Connection String
๊ฐ ํญ๋ชฉ์ semicolon (;) ์ผ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๋ค์์ ์ฌ์ฉํ ์ ์๋ค.
๋์ผ ํญ๋ชฉ์ ์๋ ์ฌ๋ฌ Keyword ๋, ๋ชจ๋ ๊ฐ์ ์๋ฏธ์ด๋ค.
Keyword | ์ค๋ช | ์์ | ๊ธฐ๋ณธ๊ฐ |
---|---|---|---|
SERVER | Hostname | SERVER=192.168.0.1 | |
PORT PORT_NO | Port No. | PORT=5656 | 5656 |
USERID USERNAME USER UID | ์ฌ์ฉ์ ID | USER=SYS | SYS |
PASSWORD PWD | ์ฌ์ฉ์ ํจ์ค์๋ | PWD=manager | |
CONNECT_TIMEOUT ConnectionTimeout connectTimeout | ์ฐ๊ฒฐ ์ต๋ ์๊ฐ | CONNECT_TIMEOUT | 60์ด |
COMMAND_TIMEOUT commandTimeout | ๊ฐ ๋ช ๋ น ์ํ ์ต๋ ์๊ฐ | COMMAND_TIMEOUT | 60์ด |
์์ ๋ก, ์๋์ ๊ฐ์ ๋ฌธ์์ด์ ์ค๋นํด ๋ ์ ์๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;CONNECT_TIMEOUT=10000;COMMAND_TIMEOUT=50000", SERVER_HOST, SERVER_PORT);
MachCommand : DbCommand
MachConnection ์ ์ด์ฉํด SQL ๋ช
๋ น ๋๋ APPEND ๋ฅผย ์ํํ๋ ํด๋์ค์ด๋ค.
DbCommand ์ ๊ฐ์ดย IDisposable ์ ์์๋ฐ๊ธฐ ๋๋ฌธ์, Dispose() ๋ฅผ ํตํ ๊ฐ์ฒด ํด์ ๋ using() ๋ฌธ์ ์ด์ฉํ ๊ฐ์ฒด์ ์๋ Dispose๋ฅผ ์ง์ํ๋ค.
์์ฑ์ | ์ค๋ช |
---|---|
MachCommand(string aQueryString, MachConnection) | ์ฐ๊ฒฐํ MachConnection ๊ฐ์ฒด์ ํจ๊ป, ์ํํ ์ฟผ๋ฆฌ๋ฅผ ์ ๋ ฅํด์ ์์ฑํ๋ค. |
MachCommand(MachConnection) | ์ฐ๊ฒฐํ MachConnection ๊ฐ์ฒด๋ฅผ ์ ๋ ฅํด์ ์์ฑํ๋ค. ์ํํ ์ฟผ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ (e.g. APPEND) ์๋ง ์ฌ์ฉํ๋ค. |
๋ฉ์๋ | ์ค๋ช |
---|---|
void CreateParameter() / void CreateDbParameter() | ์๋ก์ด MachParameter ๋ฅผ ์์ฑํ๋ค. |
void Cancel() | (๋ฏธ๊ตฌํ) |
void Prepare() | (๋ฏธ๊ตฌํ) |
MachAppendWriter AppendOpen(aTableName, aErrorCheckCount = 0, MachAppendOption = None) | APPEND ๋ฅผ ์์ํ๋ค. MachAppendWriter ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
|
void AppendData(MachAppendWriter aWriter, List<object> aDataList) | MachAppendWriter ๊ฐ์ฒด๋ฅผ ํตํด, ๋ฐ์ดํฐ๊ฐ ๋ค์ด์๋ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ ฅํ๋ค.
|
void AppendDataWithTime(MachAppendWriter aWriter, List<object> aDataList, DateTime aArrivalTime) | AppendData() ์์, _arrival_time ๊ฐ์ DateTime ๊ฐ์ฒด๋ก ๋ช ์์ ์ผ๋ก ๋ฃ์ ์ ์๋ ๋ฉ์๋์ด๋ค. |
void AppendDataWithTime(MachAppendWriter aWriter, List<object> aDataList, ulong aArrivalTimeLong) | AppendData() ์์, _arrival_time ๊ฐ์ ulong ๊ฐ์ฒด๋ก ๋ช ์์ ์ผ๋ก ๋ฃ์ ์ ์๋ ๋ฉ์๋์ด๋ค. ulong ๊ฐ์ _arrival_time ๊ฐ์ผ๋ก ์ ๋ ฅํ ๋ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ ์์ AppendData() ๋ฅผ ์ฐธ๊ณ ํ๋ค. |
void AppendFlush(MachAppendWriter aWriter) | AppendData() ๋ก ์ ๋ ฅํ ๋ฐ์ดํฐ๋ค์ ์ฆ์ ์๋ฒ๋ก ๋ณด๋ด, ๋ฐ์ดํฐ ์ ๋ ฅ์ ๊ฐ์ ํ๋ค. ํธ์ถ ๋น๋๊ฐ ์ฆ์ ์๋ก, ์ฑ๋ฅ์ ๋จ์ด์ง์ง๋ง ์์คํ
์ค๋ฅ๋ก ์ธํ ๋ฐ์ดํฐ ์ ์ค์จ์ ๋ฎ์ถ ์ ์๊ณ ์๋ฌ ๊ฒ์ฌ๋ฅผ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค. |
void AppendClose(MachAppendWriter aWriter) | APPEND ๋ฅผ ๋ง์น๋ค. ๋ด๋ถ์ ์ผ๋ก AppendFlush() ๋ฅผ ํธ์ถํ ๋ค์ ์ค์ ํ๋กํ ์ฝ์ ๋ง์น๋ค. |
int ExecuteNonQuery() | ์ ๋ ฅ๋ฐ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ค. ์ฟผ๋ฆฌ๊ฐ ์ํฅ์ ๋ฏธ์น ๋ ์ฝ๋ ๊ฐ์๋ฅผ ๋ฐํํ๋ค. ๋ณดํต SELECT ๋ฅผ ์ ์ธํ ์ฟผ๋ฆฌ๋ฅผ ์ํํ ๋ ์ฌ์ฉํ๋ค. |
object ExecuteScalar() | ์ ๋ ฅ๋ฐ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ค. ์ฟผ๋ฆฌ Targetlist ์ ์ฒซ ๋ฒ์งธ ๊ฐ์ ๊ฐ์ฒด๋ก ๋ฐํํ๋ค. ๋ณดํต SELECT ์ฟผ๋ฆฌ, ๊ทธ ์ค์์๋ ๊ฒฐ๊ณผ๊ฐ 1๊ฑด๋ง ๋์ค๋ SELECT (Scalar Query) ๋ฅผ ์ํํด DbDataReader ์์ด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. |
DbDataReader ExecuteDbDataReader(CommandBehavior aBehavior) | ์ ๋ ฅ๋ฐ์๋ ์ฟผ๋ฆฌ๋ฅผ ์ํํด, ํด๋น ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์ด ์ฌ ์ ์๋ DbDataReader ๋ฅผ ์์ฑํด ๋ฐํํ๋ค. |
ํ๋ | ์ค๋ช |
---|---|
Connection / DbConnection | ์ฐ๊ฒฐ๋ MachConnection. |
ParameterCollection / DbParameterCollection | Binding ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ MachParameterCollection. |
CommandText | ์ฟผ๋ฆฌ ๋ฌธ์์ด. |
CommandTimeout | ํน์ ์์ ์ํ ์ค, ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ธฐ๊น์ง์ ์๊ฐ. MachConnection ์ ์ค์ ๋ ๊ฐ์ ๋ฐ๋ฅด๋ฉฐ, ์ฌ๊ธฐ์๋ ๊ฐ ์ฐธ์กฐ๋ง ํ ์ ์๋ค. |
FetchSize | ํ๋ฒ์ ์๋ฒ๋ก๋ถํฐ Fetch ํ ๋ ์ฝ๋ ๊ฐ์. ๊ธฐ๋ณธ๊ฐ์ 3000 ์ด๋ค. |
IsAppendOpened | APPEND ์์ ์ค์ธ ๊ฒฝ์ฐ, Append ๊ฐ ์ด๋ฏธ ์ด๋ ค์๋์ง ์๋์ง๋ฅผ ํ๋จํ๋ค. |
CommandType | (๋ฏธ๊ตฌํ) |
DesignTimeVisible | (๋ฏธ๊ตฌํ) |
UpdatedRowSource | (๋ฏธ๊ตฌํ) |
MachDataReader : DbDataReader
Fetch ํ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์ด๋ค์ด๋ ํด๋์ค์ด๋ค. ๋ช ์์ ์ผ๋ก ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๊ณ MachCommand.ExecuteDbDataReader() ๋ก ์์ฑ๋ ๊ฐ์ฒด๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๋ฉ์๋ | ์ค๋ช |
---|---|
string GetName(int ordinal) | ordinal ๋ฒ์งธ ์ปฌ๋ผ ์ด๋ฆ์ ๋ฐํํ๋ค. |
string GetDataTypeName(int ordinal) | ordinal ๋ฒ์งธ ์ปฌ๋ผ์ ์๋ฃํ ์ด๋ฆ์ ๋ฐํํ๋ค. |
Type GetFieldType(int ordinal) | ordinal ๋ฒ์งธ ์ปฌ๋ผ์ ์๋ฃํ์ ๋ฐํํ๋ค. |
int GetOrdinal(string name) | ์ปฌ๋ผ ์ด๋ฆ์ด ์์นํ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. |
object GetValue(int ordinal) | ํ์ฌ ์์นํ ๋ ์ฝ๋์ ordinal ๋ฒ์งธ ๊ฐ์ ๋ฐํํ๋ค. |
bool IsDBNull(int ordinal) | ํ์ฌ ์์นํ ๋ ์ฝ๋์ ordinal ๋ฒ์งธ ๊ฐ์ด NULL ์ธ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ค. |
int GetValues(object[] values) | ํ์ฌ ์์นํ ๋ ์ฝ๋์ ๋ชจ๋ ๊ฐ๋ค์ ์ ๋ถ ์ค์ ํ๊ณ , ๊ทธ ๊ฐ์๋ฅผ ๋ฐํํ๋ค. |
xxxx GetXXXX(int ordinal) | ordinal ๋ฒ์งธ ์ปฌ๋ผ ๊ฐ์, ์๋ฃํ (XXXX) ์ ๋ง์ถฐ ๋ฐํํ๋ค.
|
bool Read() | ๋ค์ ๋ ์ฝ๋๋ฅผ ์ฝ๋๋ค. ๊ฒฐ๊ณผ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด False ๋ฅผ ๋ฐํํ๋ค. |
DataTable GetSchemaTable() | (๋ฏธ์ง์) |
bool NextResult() | (๋ฏธ์ง์) |
ํ๋ | ์ค๋ช |
---|---|
FetchSize | ํ๋ฒ์ ์๋ฒ๋ก๋ถํฐ Fetch ํ ๋ ์ฝ๋ ๊ฐ์. ๊ธฐ๋ณธ๊ฐ์ 3000 ์ด๋ฉฐ ์ฌ๊ธฐ์๋ ์์ ํ ์ ์๋ค. |
FieldCount | ๊ฒฐ๊ณผ ์ปฌ๋ผ ๊ฐ์. |
this[int ordinal] | object GetValue(int ordinal) ์ ๋์ผํ๋ค. |
this[string name] | object GetValue(GetOrdinal(name)) ์ ๋์ผํ๋ค. |
HasRows | ๊ฒฐ๊ณผ๊ฐ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ธ๋ค. |
RecordsAffected | MachCommand ์ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, ์ฌ๊ธฐ์๋ Fetch Count ๋ฅผ ๋ํ๋ธ๋ค. |
MachParameterCollection :ย DbParameterCollection
MachCommand ์ ํ์ํ ํ๋ผ๋ฉํฐ๋ฅผ ๋ฐ์ธ๋ฉํ๋ ํด๋์ค์ด๋ค.
๋ฐ์ธ๋ฉํ ์ดํ์ ์ํํ๊ฒ ๋๋ฉด, ํด๋น ๊ฐ์ด ๊ฐ์ด ์ํ๋๋ค.ย
Prepared Statement ๊ฐ๋ ์ด ๊ตฌํ๋์ด ์์ง ์์, Binding ์ดํย Execute ๋ฅผ ํด๋ ์ํ ์ฑ๋ฅ์ ์ต์ด ์ํํ ๊ฒ๊ณผ ๊ฐ๋ค.
๋ฉ์๋ | ์ค๋ช |
---|---|
MachParameter Add(string parameterName, DbType dbType) | ํ๋ผ๋ฉํฐ ์ด๋ฆ๊ณผ ํ์
์ ์ง์ ํด, MachParameter ๋ฅผ ์ถ๊ฐํ๋ค. ์ถ๊ฐ๋ MachParameter ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. |
int Add(object value) | ๊ฐ์ ์ถ๊ฐํ๋ค. ์ถ๊ฐ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. |
void AddRange(Array values) | ๋จ์ ๊ฐ์ ๋ฐฐ์ด์ ๋ชจ๋ ์ถ๊ฐํ๋ค. |
MachParameter AddWithValue(string parameterName, object value) | ํ๋ผ๋ฉํฐ ์ด๋ฆ๊ณผ ๊ทธ ๊ฐ์ ์ถ๊ฐํ๋ค. ์ถ๊ฐ๋ MachParameter ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. |
bool Contains(object value) | ํด๋น ๊ฐ์ด ์ถ๊ฐ๋์๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค. |
bool Contains(string value) | ํด๋น ํ๋ผ๋ฉํฐ ์ด๋ฆ์ด ์ถ๊ฐ๋์๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค. |
void Clear() | ํ๋ผ๋ฉํฐ๋ค์ ๋ชจ๋ ์ญ์ ํ๋ค. |
int IndexOf(object value) | ํด๋น ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. |
int IndexOf(string parameterName) | ํด๋น ํ๋ผ๋ฉํฐ ์ด๋ฆ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. |
void Insert(int index, object value) | ํน์ ์ธ๋ฑ์ค์, ํด๋น ๊ฐ์ ์ถ๊ฐํ๋ค. |
void Remove(object value) | ํด๋น ๊ฐ์ ํฌํจํ ํ๋ผ๋ฉํฐ๋ฅผ ์ญ์ ํ๋ค. |
void RemoveAt(int index) | ์ธ๋ฑ์ค์ ์์นํ ํ๋ผ๋ฉํฐ๋ฅผ ์ญ์ ํ๋ค. |
void RemoveAt(string parameterName) | ํด๋น ์ด๋ฆ์ ๊ฐ์ง ํ๋ผ๋ฉํฐ๋ฅผ ์ญ์ ํ๋ค. |
ํ๋ | ์ค๋ช |
---|---|
Count | ํ๋ผ๋ฉํฐ ๊ฐ์ |
this[int index] | index ๋ฒ์งธ์ MachParameter ๋ฅผ ๋ํ๋ธ๋ค. |
this[string name] | ํ๋ผ๋ฉํฐ ์ด๋ฆ๊ณผ ์ผ์นํ๋ ์์์ MachParameter ๋ฅผ ๋ํ๋ธ๋ค. |
MachParameter : DbParameter
MachCommand ์ ํ์ํ ํ๋ผ๋ฉํฐ๋ฅผ ๊ฐ๊ฐ ๋ฐ์ธ๋ฉํ ์ ๋ณด๋ฅผ ๋ด๋ ํด๋์ค์ด๋ค.
ํน๋ณํ ๋ฉ์๋๋ ์ง์ํ์ง ์๋๋ค.
ํ๋ | ์ค๋ช |
---|---|
ParameterName | ํ๋ผ๋ฉํฐ ์ด๋ฆ |
Value | ๊ฐ |
Size | ๊ฐ์ ํฌ๊ธฐ |
Direction | ParameterDirection (Input / Output / InputOutput / ReturnValue) ๊ธฐ๋ณธ๊ฐ์ Input ์ด๋ค. |
DbType | DB Type |
MachDbType | MACHBASE DB Type DB Type ๊ณผ ๋ค๋ฅผ ์ ์๋ค. |
IsNullable | NULL ๊ฐ๋ฅ ์ฌ๋ถ |
HasSetDbType | DB Type ์ด ์ง์ ๋์๋์ง ์ฌ๋ถ |
MachExceptionย : DbException
๋งํฌ๋ฒ ์ด์ค์์ ๋ํ๋๋ ์๋ฌ๋ฅผ ํ์ํ๋ ํด๋์ค์ด๋ค.
์๋ฌ ๋ฉ์์ง๊ฐ ์ค์ ๋์ด ์๋๋ฐ, ๋ชจ๋ ์๋ฌ ๋ฉ์์ง๋ย MachErrorMsgย ์์ ํ์ธํ ์ ์๋ค.
ํ๋ | ์ค๋ช |
---|---|
int MachErrorCode | MACHBASE ์์ ์ ๊ณตํ๋ ์๋ฌ ์ฝ๋ |
MachAppendWriter
MachCommand ๋ฅผ ์ฌ์ฉํ๋ ๋ณ๋์ ํด๋์ค๋ก APPEND ๋ฅผ ์ง์ํ๋ค.
ADO.NET ํ์ค์ด ์๋, MACHBASE ์ Append Protocol ์ ์ง์ํ๊ธฐ ์ํ ํด๋์ค์ด๋ค.
๋ณ๋์ ์์ฑ์ ์์ด MachCommand ์ AppendOpen() ์ผ๋ก ์์ฑ๋๋ค.
๋ฉ์๋ | ์ค๋ช |
---|---|
void SetErrorDelegator(ErrorDelegateFuncType aFunc) | ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋ ํธ์ถํ ErrorDelegateFunc ์ ์ง์ ํ๋ค. |
ํ๋ | ์ค๋ช |
---|---|
SuccessCount | ์ ๋ ฅ ์ฑ๊ณตํ ๋ ์ฝ๋ ๊ฐ์. AppendClose() ์ดํ ์ค์ ๋๋ค. |
FailureCount | ์ ๋ ฅ ์คํจํ ๋ ์ฝ๋ ๊ฐ์. AppendClose() ์ดํ ์ค์ ๋๋ค. |
Option | AppendOpen() ๋ ์ ๋ ฅ๋ฐ์ MachAppendOption |
ErrorDelegateFuncType
public delegate void ErrorDelegateFuncType(MachAppendException e);
MachAppendWriter ์์, APPEND ๋์ค MACHBASE ์๋ฒ ์ธก์์ ๋ฐ์ํ๋ Error ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํ ํจ์๋ฅผ ์ง์ ํ ์ ์๋ค.
.NET ์์๋ ์ด ํจ์ํ์ Delegator Function ์ผ๋ก ์ง์ ํ๋ค.
MachAppendException : MachException
MachException ๊ณผ ๋์ผํ์ง๋ง, ๋ค์ ์ ์ด ๋ค๋ฅด๋ค.
- ์๋ฌ ๋ฉ์์ง๊ฐ ์๋ฒ ์ธก์ผ๋ก๋ถํฐ ์์ ๋๋ค.
- ์๋ฌ๊ฐ ๋ฐ์ํ ๋ฐ์ดํฐ ๋ฒํผ๋ฅผ ํ๋ํ ์ ์๋ค. (comma-separated) ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํด ๋ค์ APPEND ํ๊ฑฐ๋ ๊ธฐ๋กํ๋ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
ํด๋น ์์ธ๋ ErrorDelegateFunc ๋ด๋ถ์์๋ง ํ๋์ด ๊ฐ๋ฅํ๋ค.
๋ฉ์๋ | ์ค๋ช |
---|---|
GetRowBuffer() | ์๋ฌ๊ฐ ๋ฐ์ํ ๋ฐ์ดํฐ ๋ฒํผ๋ฅผ ํ๋ํ ์ ์๋ค. |
MachTransaction
์ง์ํ์ง ์๋๋ค.
์ํ ์ฝ๋
์ฐ๊ฒฐ
MachConnection ์ ๋ง๋ค์ด Open() - Close() ํ๋ฉด ๋๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); MachConnection sConn = new MachConnection(sConnString); sConn.Open(); //... do something sConn.Close();
using ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด, Connection ์ข ๋ฃ ์์ ์ธ Close() ๋ฅผ ํธ์ถํ์ง ์์๋ ๋๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { sConn.Open(); //... do something } // you don't need to call sConn.Close();
์ฟผ๋ฆฌ ์ํ
MachCommand ๋ฅผ ๋ง๋ค์ด ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ฉด ๋๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { String sQueryString = "CREATE TABLE tab1 ( col1 INTEGER, col2 VARCHAR(20) )"; MachCommand sCommand = new MachCommand(sQueryString , sConn) try { sCommand.ExecuteNonQuery(); } catch (MachException me) { throw me; } }
์ด ์ญ์ using ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด, MachCommand ํด์ ์์ ์ ๊ณง๋ฐ๋ก ์งํํ ์ ์๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { String sQueryString = "CREATE TABLE tab1 ( col1 INTEGER, col2 VARCHAR(20) )"; using(MachCommand sCommand = new MachCommand(sQueryString , sConn)) { try { sCommand.ExecuteNonQuery(); } catch (MachException me) { throw me; } } }
SELECT ์ํ
SELECT ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ง MachCommand ๋ฅผ ์คํํด MachDataReader ๋ฅผ ์ป์ ์ ์๋ค.
MachDataReader ๋ฅผ ํตํด ๋ ์ฝ๋๋ฅผ ํ๋์ฉ Fetch ํ ์ ์๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { String sQueryString = "SELECT * FROM tab1;"; using(MachCommand sCommand = new MachCommand(sQueryString , sConn)) { try { MachDataReader sDataReader = sCommand.ExecuteReader(); while (sDataReader.Read()) { for (int i = 0; i < sDataReader.FieldCount; i++) { Console.WriteLine(String.Format("{0} : {1}", sDataReader.GetName(i), sDataReader.GetValue(i))); } } } catch (MachException me) { throw me; } } }
ํ๋ผ๋ฉํฐ ๋ฐ์ธ๋ฉ
MachParameterCollection ์ ์์ฑํ ๋ค์, MachCommand ์ ์ฐ๊ฒฐํด์ ์ํํ ์ ์๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { string sSelectQuery = @"SELECT * FROM tab2 WHERE CreatedDateTime < @CurrentTime AND CreatedDateTime >= @PastTime"; using (MachCommand sCommand = new MachCommand(sSelectQuery, sConn)) { DateTime sCurrtime = DateTime.Now; DateTime sPastTime = sCurrtime.AddMinutes(-1); try { sCommand.ParameterCollection.Add(new MachParameter { ParameterName = "@CurrentTime", Value = sCurrtime }); sCommand.ParameterCollection.Add(new MachParameter { ParameterName = "@PastTime", Value = sPastTime }); MachDataReader sDataReader = sCommand.ExecuteReader(); while (sDataReader.Read()) { for (int i = 0; i < sDataReader.FieldCount; i++) { Console.WriteLine(String.Format("{0} : {1}", sDataReader.GetName(i), sDataReader.GetValue(i))); } } } catch (MachException me) { throw me; } } }
APPEND
MachCommand ์์ AppendOpen() ์ ์ํํ๋ฉด, MachAppendWriter ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์๋ค.
์ด ๊ฐ์ฒด์ MachCommand ๋ฅผ ์ด์ฉํด, ์ ๋ ฅ ๋ ์ฝ๋ 1๊ฑด์ ๋ฆฌ์คํธ๋ก ์ค๋นํด AppendData() ๋ฅผ ์ํํ๋ฉด ์ ๋ ฅ์ด ์ด๋ค์ง๋ค.
AppendFlush() ๋ฅผ ํ๋ฉด ๋ชจ๋ ๋ ์ฝ๋์ ์ ๋ ฅ์ด ๋ฐ์๋๋ฉฐ, AppendClose() ๋ฅผ ํตํด Append ์ ์ฒด ๊ณผ์ ์ ์ข ๋ฃํ ์ ์๋ค.
String sConnString = String.Format("SERVER={0};PORT_NO={1};UID=;PWD=MANAGER;", SERVER_HOST, SERVER_PORT); using (MachConnection sConn = new MachConnection(sConnString)) { using (MachCommand sAppendCommand = new MachCommand(sConn)) { MachAppendWriter sWriter = sAppendCommand.AppendOpen("tab2"); sWriter.SetErrorDelegator(AppendErrorDelegator); var sList = new List<object>(); for (int i = 1; i <= 100000; i++) { sList.Add(i); sList.Add(String.Format("NAME_{0}", i % 100)); sAppendCommand.AppendData(sWriter, sList); sList.Clear(); if (i % 1000 == 0) { sAppendCommand.AppendFlush(); } } sAppendCommand.AppendClose(sWriter); Console.WriteLine(String.Format("Success Count : {0}", sWriter.SuccessCount)); Console.WriteLine(String.Format("Failure Count : {0}", sWriter.FailureCount)); } }
private static void AppendErrorDelegator(MachAppendException e) { Console.WriteLine("{0}", e.Message); Console.WriteLine("{0}", e.GetRowBuffer()); }