当我使用Cashier表或其他具有少量记录的表时,进程继续进行并将表插入外部数据库。但是,当我将收银员更改为交易数据库(400k +记录)时,Visual Studio报告“交易”附近的错误帮助将不胜感激。
收银员数据库(工作)
Dim query As String = "select * into MyDatabase2.dbo.Cashier from bos_primary_db.dbo.Cashier"
交易数据库(不工作)
Dim query As String = "select * into MyDatabase2.dbo.Transaction from bos_primary_db.dbo.Transaction"
这是错误消息:
关键字“交易”附近的语法不正确
答案 0 :(得分:2)
这可能是因为Transaction
是SQL中的保留字。
根据您的RDBMS(您没有指定),有很多方法可以避免"逃避"它:
对于 Sql Server ,您应该将保留字包装在方括号中:
select * into MyDatabase2.dbo.[Transaction] from bos_primary_db.dbo.[Transaction]
对于 MySql ,您应该使用撇号:
select * into MyDatabase2.dbo.`Transaction` from bos_primary_db.dbo.`Transaction`
对于 Oracle ,您应该使用双引号:
select * into MyDatabase2.dbo."Transaction" from bos_primary_db.dbo."Transaction"
注意:您应该始终尽量避免使用保留字。 This link描述了我最喜欢的方式。