我有一个有趣的问题。我的一个数据库相关代码在本地机器上运行良好。但它在第三方Web服务器上发布时不返回任何内容。
以下是代码段:
Public Function getUserAuthDataWithUserId(ByRef Connection As MySqlConnection,
ByVal UserId As String
) As DataTable
Dim cmd As String
cmd = "select * from tbl_md_userauth where tf_userid = '" + UserId + "' "
getUserAuthDataWithUserId = ExecuteSQL(Connection, cmd)
End Function
ExecuteSQL
函数是:
Public Function ExecuteSQL(ByRef Connection As MySqlConnection,
ByVal SQLStatement As String
) As DataTable
Dim ds As New DataSet
Dim da As New MySqlDataAdapter
Try
da = New MySqlDataAdapter(SQLStatement, Connection)
da.Fill(ds, "tbl_Return")
ExecuteSQL = ds.Tables("tbl_Return")
Catch ex As Exception
msgbox ("exception !")
End Try
End Function
请放心:
Web服务器的帮助台说他们的服务器没有问题。
有什么问题的任何线索?
答案 0 :(得分:1)
您似乎正在吞咽您的例外情况。该代码似乎使用msgbox显示错误,但它将显示在隐藏配置文件下的服务器上,而不会发送到浏览器进行显示。您需要一些其他方式来显示或记录在Web环境中有效的错误。
话虽如此,您是否能够获得与数据库的任何连接,并且此方法失败,或者您的所有数据库请求都失败了?我怀疑您在数据库配置中使用集成身份验证,但同一用户在服务器上不起作用,因为IIS作为应用程序池中的其他用户运行。尝试更改开发环境以指向服务器上的数据库,看看是否有任何错误。如果您使用的是托管环境,我建议您在数据库中设置一个命名用户,并在连接字符串中使用该用户,而不是使用集成身份验证。
答案 1 :(得分:0)
最终,它发现是服务器方面的问题。帮助台修复了它。我还不知道他们究竟修正了什么。我听到他们的消息后,我会尽快将其发布在这里。
感谢所有贡献的人。