diff --git a/message.go b/message.go
index 725155d..2a78277 100644
--- a/message.go
+++ b/message.go
@@ -103,8 +103,8 @@
 func (m *MessageWriter) Serialize() string {
 	m.Attributes["funcno"] = m.FuncNo
 	m.serialize_rowdata()
-	m.Attributes["colnames"] = m.ColumnNames
-	m.Attributes["coldescs"] = m.ColumnNames
+	m.Attributes["colname"] = m.ColumnNames
+	m.Attributes["coldesc"] = m.ColumnNames
 	m.Attributes["colcnt"] = len(m.ColumnNames)
 	r, _ := json.Marshal(m.Attributes)
 	return string(r)
@@ -191,8 +191,8 @@
 	m.DBMsg = convert_to_string(obj["dbmsg"])
 	m.ErrName = convert_to_string(obj["errname"])
 
-	m.ColumnNames = get_column_names(obj["colnames"])
-	m.ColumnDescs = get_column_names(obj["coldescs"])
+	m.ColumnNames = get_column_names(obj["colname"])
+	m.ColumnDescs = get_column_names(obj["coldesc"])
 
 	if rowdata, err := obj["rowdata"]; err {
 		if rowdata != nil {
@@ -207,16 +207,16 @@
 		}
 	}
 	reverseKey := map[string]bool{
-		"funcno":   true,
-		"colnames": true,
-		"coldescs": true,
-		"rowcnt":   true,
-		"colcnt":   true,
-		"rowdata":  true,
-		"retcode":  true,
-		"retmsg":   true,
-		"dbmsg":    true,
-		"errname":  true}
+		"funcno":  true,
+		"colname": true,
+		"coldesc": true,
+		"rowcnt":  true,
+		"colcnt":  true,
+		"rowdata": true,
+		"retcode": true,
+		"retmsg":  true,
+		"dbmsg":   true,
+		"errname": true}
 
 	for k, v := range obj {
 		if _, ok := reverseKey[k]; ok {
