如何在VB.net中执行.SQL文件 [英] How to execute .SQL file in VB.net

查看:131
本文介绍了如何在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 accept GO 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆