【发布时间】:2025-11-28 00:55:02
【问题描述】:
解决方案:
事实证明我没有检查它正在查找的路径,我很傻。一旦我找到了这个问题并纠正了错误的路径,阅读效果就很好了。仍然对 MSSQL 问题感到困惑,因为文章平均不到 10 000 字节。
澄清:
我不确定你们中的某些人是否认为我正在尝试读取的文件位于我的本地计算机上。它位于 Web 上,与正在访问它的脚本位于同一台服务器上。只是在不同的目录中。
我编写了一个包含文章的在线帮助台应用程序。我遇到的一个问题
是有些文章太长,当我将它们放入我的 MSSQL 数据库时被截断。我尝试使用TEXT 和VARCHAR(MAX) 作为数据类型,但它仍然会被截断。
所以我决定将太长的文章放入一个文本文件中,并让我的应用程序从那里读取该文本文件。我让这段代码在我的开发环境中工作,但它不能在现场工作:
Dim output As String = String.Empty
Try
Dim theArticle As gsClassroom = classArticles(iterate)
If theArticle.Body.StartsWith("/docs/") Then
Dim oReader As IO.StreamReader = Nothing
Try
oReader = New IO.StreamReader(Server.MapPath(String.Format("/dev{0}", theArticle.Body)))
Catch ex As Exception
output = String.Format("{0}<br /><br />{1}", ex.Message, "internal")
Finally
oReader.Close()
oReader.Dispose()
oReader = Nothing
End Try
Else
output = theArticle.Body
End If
Catch ex As Exception
output = String.Format("{0}<br /><br />{1}", ex.Message, "external")
End Try
Response.Output.WriteLine(output)
一开始我以为是因为我没有把/dev路径前缀改成/hlpdsk。但即使在我改变它之后,它也被炸毁了。我做错了什么?
【问题讨论】:
-
“……它被炸毁了。”我想这意味着你收到了一条错误消息。愿意告诉我们它说了什么吗?
-
"对象引用未设置为对象的实例"
标签: asp.net sql-server vb.net file-io