package xugu import ( "context" "errors" "fmt" ) func xgSockOpenConn(ctx context.Context, pConn *xuguConn) error { fmt.Println(" ---xgSockOpenConn(ctx context.Context, pConn *xuguConn)") //发送 //fmt.Printf("login database = '%s' user = '%s' password = '%s' version='201' ", pConn.Database, pConn.User, pConn.Password) // message := "login database = 'SYSTEM' user = 'SYSDBA' password = 'SYSDBA' version='201' " dsnMessage := generateLoginString(pConn.dsnConfig) _, err := pConn.conn.Write([]byte(dsnMessage)) if err != nil { return errors.New("conn 发送数据库连接失败:") } fmt.Println("数据已发送:", dsnMessage) buffer := make([]byte, 1) n, err := pConn.conn.Read(buffer) if err != nil { return errors.New("conn 接收数据库连接相应失败:") } fmt.Println("读取数据库服务返回:", string(buffer[:n])) //SockSendCommand0(pConn, "set schema SYSTEM") return nil } func xuguSockRecvMsg(pConn *xuguConn) (interface{}, error) { pConn.conn.Read(pConn.readBuff.buf) fmt.Println("pConn.readBuff.buf ::", pConn.readBuff.buf, string(pConn.readBuff.buf)) rs, err := parseMsg(&pConn.readBuff, pConn) if err != nil { fmt.Println("xuguPrepare parseMsg(&pConn.readBuff, pConn)") return nil, err } pConn.readBuff.reset() return rs, nil }