SQL과 datatable을 비교할 수 없으며 새 항목을 sql 테이블에 복사 할 수 없습니다.

datatable sql sqlbulkcopy sql-server vb.net

문제

VB.NET에서 SQL Server 2012 데이터베이스에 대한 Left Join을 실행하려고하면 다음과 같은 코드 조각이 붙어 있습니다.

Dim dtTabelle1 as DataTable
(first Column of dtTabelle1 = Zyklus ID)

Dim con As SqlConnection
Dim conString, cmdString As String
Dim cmd As SqlClient.SqlCommand

conString = "path"
con = New SqlConnection(conString)
con.Open()

dtTabelle1.TableName = "Test"

cmdString = "INSERT INTO Daten ([Zyklus ID])" & _
                "Select [Zyklus ID]" & _
                "FROM Test " & _
                "LEFT JOIN Daten ON (Test.[Zyklus ID] = Daten.[Zyklus ID])" & _
                    "WHERE (Daten.[Zyklus ID] IS NULL);"

cmd = New SqlCommand(cmdString, con)
cmd.CommandType = CommandType.Text

cmd.ExecuteNonQuery()
con.Close()

오류가 발생했습니다.

잘못된 개체 이름 'Test'

(Btw "Zyklus ID"에서 공백을 변경할 수 없습니다 :().

dtTabelle1 이 채워지고 스키마는 서버 Daten 의 대상 데이터베이스와 동일합니다.

인기 답변

쿼리의 SQL 문 사이에 적절한 공백을 넣으십시오.

cmdString = "INSERT INTO Daten ([Zyklus ID]) " & _
            "SELECT [Zyklus ID] " & _
            "FROM Test " & _
            "LEFT JOIN Daten ON (Test.[Zyklus ID] = Daten.[Zyklus ID]) " & _
            "WHERE (Daten.[Zyklus ID] IS NULL);"


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.