如何在VB.net中执行.SQL文件 [英] How to execute .SQL file in VB.net
本文介绍了如何在VB.net中执行.SQL文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在vb.net中执行.sql文件
我尝试使用命令对象
How do i execute a .sql file in vb.net
I tried using command object
Dim Objread As New StreamReader("path....")
Dim commandobj As New SqlCommand
commandobj.CommandText=objread.ReadToEnd()
commandobj.ExecuteNonQuery()
我收到错误消息:GO
I am getting error: Incorrect syntax near GO
推荐答案
请检查:
http://www.dotnet247.com/247reference/msgs/40/202569.aspx [ ^ ]
please check:
http://www.dotnet247.com/247reference/msgs/40/202569.aspx[^]
这是我从未测试过的东西,但是ADO应该能够批量处理多个命令.它不接受GO
,但应接受分号.因此,基本上,如果将GO转换为分号,则可以使用.您可以尝试以下操作:
This is something I''ve never tested, but ADO should be able to handle multiple commands as a batch. It doesn''t acceptGO
but it should accept semicolon. So basically if you convert GO''s to semicolons it could work. You could try something like:
string sql = @"SELECT 1
GO
SELECT 2
GO
SELECT 3
GO";
sql = sql.Replace(@"
GO", ";");
这很可能取决于您要运行的语句,例如,包含GO在内的过程定义可能会出现问题.
抱歉,刚刚意识到这是VB,所以类似:
This would most likely depend on the statements you''re going to run, for example with procedure definitions including GO''s could have problems.
Sorry, just realized that this was VB, so something like:
sql = "SELECT 1" + vbNewLine + _
"GO" + vbNewLine + _
"SELECT 2" + vbNewLine + _
"GO" + vbNewLine + _
"SELECT 3" + vbNewLine + _
"GO".Replace(vbNewLine + "GO", ";")
sql = sql.Replace(vbNewLine + "GO", ";")
这篇关于如何在VB.net中执行.SQL文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文