C#

[C#] 문자열을 datetime으로 변환하는 중 구문 오류가 발생했습니다. SqlException이(가) 처리되지 않았습니다. c# sql datetime 6시간 삽질. DLL 'msvbvm60.dll'에서 이름이 'Format'인 진입점을 찾을 수 없습니다..

정보처리마법사 2016. 2. 3. 16:00
반응형

[C#] 문자열을 datetime으로 변환하는 중 구문 오류가 발생했습니다. SqlException이(가) 처리되지 않았습니다. c# sql datetime 6시간 삽질. DLL 'msvbvm60.dll'에서 이름이 'Format'인 진입점을 찾을 수 없습니다 EntryPointNotFoundException 


6시간 삽질했다.


발단.

기존 VB6소스 -> C# 컨버팅중. SQLServer(mssql) DB의 업데이트 날짜의 포맷이 2016-02-03 오후 3:38  이런 형식이고 데이터타입은 dateTime Type이었다.

     신규 프로젝트 만들땐 신경도 안썼던 업데이트 날짜 포맷이었으나 기존꺼를 써야했기때문에 DB는 건드리지 않고 내가 맞춰야했다.


열심히 포맷을 맞춰서 sql string을 excute하는데 뚜둥






오전, 오후 를 sql2000 에서 자동으로 변환이 되지 않아서 뜨는 에러라고 한다.

별 짓을 다해봤지만 마찬가지 이고, 기존 VA6 소스에서 Format() Function을 썼길래,






아하 닷넷 Tostring() 메소드로는 안되고,

VBA.String.Format 펑션을 쓰면 되겠구나 하고 요로케 쓰려고 하니 






요로케 EntryPointNotFoundException 에러가 뜬다.( DLL 'msvbvm60.dll'에서 이름이 'Format'인 진입점을 찾을 수 없습니다.) 

클래스를 노출한 DLL은 다른 언어/버전 에서 사용 할 수 없다고 한다.






내 머릿속에서 난 결론은 Format Function을 C#에서  쓸 수 없을 뿐더러 

VB6에서도 sql update 문 날릴 때 오전/오후 의 글씨가 포함됐다면 똑같은 현상이 일어났어야 맞는다는 것이다.

그래서 대충 아무 포맷으로 맞춰서 그냥 sqlstring문을 만들어 update쿼리를 날려봤다.


예상대로 자동으로 sql2000에서 알아서 2016-02-03 오후 3:38 요런 식으로 맞추더라. 

다른언어 컨버팅 해본 사람이라면 한 번 쯤 겪을 법한 삽질.







Fin.


잘 못 된 정보가 있으면 말씀해주세요~


1초도 걸리지 않는 공감버튼 클릭은 작성자에게 큰 힘이 됩니다.


반응형