Append 사용시 유니코드 관련

#1

안녕하세요.

  • Visual Studio 문자 집합 유니코드 사용

아래와 같이 코드를 작성하였는데 빌드는 성공하나, 실행 단계에서 SQLAppendDataV2() 함수에서 메모리 오류가 발생 합니다. 유니코드 문자형을 사용할때는 어떻게 하면 되나요?

void CMachbaseMngr::AppendData()
{
SQL_APPEND_PARAM sParam[4];
memset(sParam, 0, sizeof(sParam));

wchar_t sTagName[30] = { 0, };
wchar_t sOperDateTime[30] = { 0, };
double nTagValue = 0.0f;
wchar_t sTrainNo[4] = { 0, };

int nCount = 0;
while (1)
{
	wcscpy(sTagName, L"CD_0000");
	sParam[0].mVar.mLength = wcslen(sTagName);
	sParam[0].mVar.mData = sTagName;

	CTime t1 = CTime::GetCurrentTime();
	sParam[1].mDateTime.mTime = t1.GetTime();

	sParam[2].mDouble = 12.3f;

	wcscpy(sTrainNo, L"1801");
	sParam[3].mVar.mLength = wcslen(sTrainNo);
	sParam[3].mVar.mData = sTrainNo;

	SQLAppendDataV2(m_Stmt, sParam);

	nCount++;
	if (nCount >= 10) {
		break;
	}
}

}

sParam[3].mDateTime.mDateStr 타입은 char* 타입만 지원 되는건지도 궁금합니다.

0 Likes

#2

SQLAppendDataV2 함수 진입 시점에 다음과 같이 오류가 발생 합니다.
SQLExecDirect 함수로 쿼리 단건으로 입력 되는건 동작 확인한 상황입니다.

제가 어떤 자료를 보면 될지 알수있을까요??

0 Likes

#3

안녕하세요 junho103님

마크베이스 담당자입니다.

해당 오류는 메모리 관련 오류로써 다른 메모리영역을 차지할 수 있는 wcscpy()함수 때문에 발생 하는 오류로 보입니다. 따라서 다음과 같이 변경하여 사용하시면 문제없이 사용할 수 있어 보입니다.

wcscpy(sTagName, L"CD_0000");
sParam[0].mVar.mLength = wcslen(sTagName);

swprintf_s(sTagName,30, L"CD_0000");
sParam[0].mVar.mLength = (unsigned int)wcslen(sTagName);

wcscpy를 사용하는 모든함수를 위와 같이 변경해 주십시오.

또한 mDateStr 는 char * 으로만 지원이 되며 예제로 다음과 같이 입력가능합니다 (유니코드에서도 가능합니다)

sParam[1].mDateTime.mTime = SQL_APPEND_DATETIME_STRING;
sParam[1].mDateTime.mDateStr = “23/MAY/2014:17:41:28”;
sParam[1].mDateTime.mFormatStr = “DD/MON/YYYY:HH24:MI:SS”;

0 Likes

에 자동으로 끌어올려짐 #4
0 Likes

에 자동으로 끌어올려짐 #5
0 Likes

에 자동으로 끌어올려짐 #6
0 Likes

에 자동으로 끌어올려짐 #7
0 Likes

에 자동으로 끌어올려짐 #8
0 Likes

에 자동으로 끌어올려짐 #9
0 Likes

에 자동으로 끌어올려짐 #10
0 Likes

에 자동으로 끌어올려짐 #11
0 Likes

에 자동으로 끌어올려짐 #12
0 Likes

에 자동으로 끌어올려짐 #13
0 Likes

에 자동으로 끌어올려짐 #14
0 Likes

에 자동으로 끌어올려짐 #15
0 Likes

에 자동으로 끌어올려짐 #16
0 Likes

에 자동으로 끌어올려짐 #17
0 Likes

에 자동으로 끌어올려짐 #18
0 Likes

에 자동으로 끌어올려짐 #19
0 Likes

에 자동으로 끌어올려짐 #20
0 Likes