2011-08-08 1 views
3

영숫자 데이터가있는 CSV 파일을 읽는 데 문제가 있습니다. 아래클래식 asp - 영숫자 데이터를 포함하는 csv 파일 읽기

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ 
ls_map_path & ";Extended Properties=""Text;HDR=Yes;FMT=Delimited"";" 


Set lo_conn = Server.CreateObject("ADODB.Connection") 
lo_conn.Open strConn 

Set lo_rs = Server.CreateObject("ADODB.recordset") 
lo_rs.CursorLocation = adUseClient 
lo_rs.open "SELECT * FROM " & as_file_name, lo_conn, adOpenStatic, adLockOptimistic, adCmdText 

및 데이터됩니다 :

user_id,status,last_name,first_name,middle_name 
1234,1,DeVera,athan,M. 
1234,1,De Vera,athan,M. 
ABC1,1,Santos,Shaine 
abcd,1,Santos,Luis 
1234,1,De Vera,athan,M. 
1234,1,De Vera,athan,M. 
ABC1,1,Santos,Shaine 

lo_rs.fields.Item("user_id")를 사용하여 "USER_ID"열을 읽고, 그것을 완벽하게 "1234"USER_ID 값을 검색 아래 기존 ASP 내 코드입니다. 하지만 영숫자 값을 가진 다른 데이터는 나에게 null을 반환합니다.

null을 반환하는 이유를 알 수 없습니다. 데이터가 모두 영숫자이면 user_id 열을 완벽하게 읽습니다. 난 csv 데이터가 하나의 열에 숫자와 영숫자가 혼합되어있는 경우 유일한 문제라고 생각합니다.

누구든지 해결 방법을 알고 있습니까? 아니면 연결 문자열에 누락 된 텍스트가있을 수도 있습니다.

사전에 도움을 주셔서 감사합니다.

답변

2

유형 유추를 해결하려면 CSV 파일의 각 열 유형을 정의하는 SCHEMA.INI을 만들 수 있습니다. CSV (ls_map_path)가있는 schema.ini를 만드는 들어있는 디렉토리에

설정 HDR=NO & : 텍스트 공급자가 사용하는

[filenamehere.csv] 
Col1=user_id Text 
Col2=status Long 
Col3=last_name Text 
Col4=middle_name Text 

유형 맵핑은 이제 위의 스키마를 기반으로합니다.

+0

답변 감사합니다. csv 파일이 업로드되어 있고 내 웹 사이트에서 읽을 수 있습니다. 의미, 사용자가 CSV 파일을 업로드 할 때마다 schema.ini 파일을 다시 만들어야합니까? 감사. – jeff

+0

'Majority Type' 대신'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text \ ImportMixedTypes = Text'를 사용하여 전역으로 변경할 수 있습니다. –

+0

정말 좋았어요! 고맙습니다. – jeff