2010-01-19 5 views
0

데이터베이스에서 저장 프로 시저를 실행하고 결과를 DataTable에 저장 한 다음 Response를 통해 DataTable에 파일을 씁니다. 그 목적은 SQL Server의 테이블에서 데이터를 가져온 다음 타사 도구를 사용하여 Oracle 데이터베이스에 데이터를 업로드하는 것입니다.데이터베이스에서 읽을 때 SQL DateTime 형식 유지

내가 만나는 문제는 날짜가 SQL Server에 다음과 같이 저장된다는 것입니다. 2011-05-01 00 : 00 : 00.000.

그러나 SqlDataReader를 통해 액세스하고 내 DataTable에 넣으면 결국 5/1/2011 12:00:00 AM으로 서식이 지정됩니다.

그래서 OracleDateTime으로 명시 적으로 구문 분석 할 수 있다고 생각했습니다. 나는 결과를 읽고있다

records.Columns.Add("Date", typeof(OracleDateTime)); 

뿐만 아니라이 비트 : 내 DataTable의에서 다음과 같은 열이

row["Date"] = OracleDateTime.Parse(rdr["Date"].ToString()); 

나는 또한 차기에 대한 SqlDateTime을 시도했지만 궁극적으로 내가와 끝까지 형식이 잘못 지정된 문자열이 잘못되었습니다. SQL이 쿼리에서 반환하는 것과 동일한 방식으로 유지하고 싶습니다. 어떻게 수행 할 수 있습니까?

+0

오라클 데이터베이스에 데이터가 잘못 입력되고 있습니까? 이것은 단지 발표 문제입니까? 아니면 날짜를 문자열로 변환 한 다음 문자열을 날짜로 변환하고 있습니까? –

답변

3

날짜가 SQL 서버에 저장되지 않습니다. 임시 질의에서 볼 수있는 것은 내부 숫자 저장소에서 해당 형식으로의 변환입니다.

읽을 때 rdr [ "Date"]를 DateTime으로 변환해야합니다.

코드에서 특정 형식을 사용하려면 출력 할 때 .NET 형식 지정자를 사용하여 형식을 지정해야합니다.

관련 문제