【发布时间】:2014-11-18 18:26:37
【问题描述】:
我尝试在 VB.NET 中对我的 SQL Server 2012 数据库运行左连接,但我被这段代码卡住了:
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()
我得到一个错误:
无效的对象名称“测试”
(顺便说一句,我无法更改“Zyklus ID”中的空白:()。
dtTabelle1被填满,架构与服务器Daten上的目标数据库相同。
【问题讨论】:
-
表Test是在什么架构下?在“默认”dbo 下还是不同?
-
架构是默认的
-
还有一个问题:脚本的目标数据库是否正确?旁注:总是尝试在表名前加上 schemaName。 (即引用表作为 SchemaName.TableName)
-
那会是什么样子? default.Test?
-
不,它看起来像 dbo.Test。我指的是 dbo 模式的“默认”。
标签: sql sql-server vb.net datatable sqlbulkcopy