VB 调用写入文件的 SQL Server 存储过程,故障转移超过 104 KB



我有一些VB代码:

If cnn.State = ConnectionState.Closed Then
   cnn.Open()
End If
Dim cmd As New SqlCommand("[WENCO].[dbo].[MyProc]", cnn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@Data_Date", useDate)
cmd.Parameters.AddWithValue("@ALTERNATE_LOC", alternateLocation)
cmd.ExecuteReader() 

该过程本身获取一些数据库信息,创建一个文件,然后写入该文件。该代码只是那些在 SSMS 中没有权限的用户的运行过程 GUI。我面临的问题是,每当必须写入文件的数据超过 104 KB 时,它根本不写入任何信息。

我自己可以从 SSMS 运行存储过程,而不会出现任何问题。

关于可能导致此问题的任何想法将不胜感激。

嘿伙计们感谢您的答案。我做了更多的挖掘,发现申请:

    Dim command As New SqlCommand(queryString, connection)
    Dim reader As SqlDataReader = command.ExecuteReader()
    While reader.Read()
        Console.WriteLine("{0}", reader(0))
    End While

是答案。我不知道为什么它以这种方式超时,但这迫使它查看所有数据。

执行读取也有助于实现此:

如果事务死锁,则在调用 Read 之前可能不会引发异常。

如 MSDN 网站 http://msdn.microsoft.com/en-us/library/9kcbe65k(v=vs.110) 上所示.aspx

尝试使用 ExecuteNonQuery()

找到此链接,它在 C# 中,但应该相同:如何在 C# 程序中执行存储过程

最新更新