2014-10-06 1 views
0

SQL Server에서 간단한 데이터를 문제없이 CSV 파일로 내보낼 수 있습니다. 다음은 특별한 경우입니다. 해당 테이블에서 필수 필드를 내보내는 것 외에도 추가 필드 인 [비밀번호]를 내 보내야합니다. 이 필드는 SQL Server의 테이블에 없습니다. 이 필드는 studentId 필드를 조작 한 결과입니다. 예를 들어, StudId11111이면 암호는 'XDUBS'입니다.SQL Server에서 CSV 파일로 테이블을 내보낼 수 있지만 추가 열이 있습니까?

 'assume the connection works 
     cmd1.CommandText = "select studentID from vwTEST" 
     cmd1.ExecuteNonQuery() 
     da.Fill(dt) 

     For i As Integer = 0 To dt.Rows.Count - 1 
      strStudentID = dt.Rows(i).Item(0) 
      enc = encrypt(strStudentID) 
      updatePW(strStudentID, enc) 
     Next 

나는() 테이블의 학생들을 업데이트 studentID에 PW를 변환 UPDATEPW를 호출하기 위해 암호화를()를 호출,하지만 나는 테이블에 [PW] 필드를 추가 할 수 없습니다입니다. 그래서 그것이 작동하더라도 이런 식으로 할 수 없습니다!

답변

0
  1. 임시 테이블 (테이블 #name 만들기 ...);
  2. 사용자 정의 함수 (UDF)를 사용하여 암호를 계산합니다.
+0

감사합니다. i486; 좋은 소리. 그러나 SQL Server에 함수 또는 저장 프로 시저를 만드는 대신 VB.net 코드를 만들 수 있습니까? SQL Server에 대한 액세스 권한이 없습니다. 또한, 이미 암호를 계산하는 VB.Net 함수가 있으며 작동합니다! – user3754205

+1

@ user3754205 : VB.NET 코드가 실제로 필요한 경우 왜 그렇게 말하지 않으십니까? 그에 맞게 편집하십시오. 당신이 그것에있는 동안 당신이 당신의 코드 중 일부를 보여 주면 도움이 될 것입니다; 현재 DB에서 데이터를 읽고 CSV로 내보내는 방법을 알기에 충분합니다. – stakx

+0

@stakx에서 질문을 수정하고 코드를 추가했습니다. 감사합니다 – user3754205

0

"가상 테이블"이라는 용어를 언급했습니다. 그것은 데이터베이스 뷰를 설명하는 한 가지 방법입니다.

  1. 데이터 내보내기 절차에 대한 소스 (대신 당신이 지금 내보낼 테이블) 역할을하는보기 만들기 :

    CREATE VIEW … 
    AS 
    SELECT … /* all columns from the base table that you want to export */, 
         GetPasswordFrom(StudentId) AS Password 
    FROM TableThatYouAreExportingNow 
    

    GetPasswordFrom 일부 사용자 정의 함수입니다 (UDF) 인수 (StudentId)에서 암호를 파생합니다.

  2. TableThatYouAreExportingNow 테이블 대신 해당보기를 내 보냅니다.

+0

감사합니다. stakx이지만 studentId에서 pw를 작성하려면 함수가 필요합니다. 그런 다음이 pw를 포함한 모든 필드가 csv 파일로 내보내집니다. 나는 그 기능을 가지고 작동합니다! 하지만이 필드를 데이터베이스에서 가져온 필드와 결합하여 내보낼 방법을 모르겠습니다. – user3754205