使用“SQlDataAdapter”时的最佳实践

Posted

技术标签:

【中文标题】使用“SQlDataAdapter”时的最佳实践【英文标题】:Best practise while using 'SQlDataAdapter' 【发布时间】:2012-04-22 07:00:42 【问题描述】:

我在项目中使用了一个通用函数来返回数据集。我在这里使用“SQLDataAdapter”。这适用于其他 3 个项目。但在其中一个项目中,从其中一台客户端计算机运行此函数时会引发错误。 (在服务器机器上工作正常)。

错误:- 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定实例)

这里是函数的源代码:-

Public Function Fn_Return_Dataset(ByVal sqlquerys As String) As DataSet
    ' This function is used to return a dataset for given query
    If mydb.State <> ConnectionState.Closed Then
        mydb.Close()
    End If

    Dim dap As New SqlDataAdapter(sqlquerys, mydb)
    mydataset = New DataSet()
    Try
        dap.Fill(mydataset)
    Catch Exdat As Exception
        writelog(Exdat.Message.ToString, "MYDATA", "FN_RETURN_DATASET")
        showmsg("Sorry.....Unable to return dataset")
    Finally
        If mydb.State <> ConnectionState.Open Then
            mydb.Open()
        End If
    End Try
    Return (mydataset)
End Function

【问题讨论】:

您的 SQL 引擎是什么(类型/版本)。你使用命名实例吗? 【参考方案1】:

如果您的代码在服务器机器上运行良好,而不是在客户端机器上运行良好,那么您有通信问题。检查您的 SQL 引擎是否启用了 TCP 以及是否打开了防火墙。您可能有一些与 DNS 相关/名称解析相关的问题 - 检查连接字符串中的服务器名称 - 使用服务器名称执行简单 ping 以检查客户端机器是否可以将服务器名称解析为 IP。

【讨论】:

以上是关于使用“SQlDataAdapter”时的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIStoryboards 时的最佳实践是啥?

使用 RemoteObject 和多个组件时的 Flex 4 最佳实践

将 SWIG 与 C# 结合使用时的最佳实践是啥?

将 Querydsl 与 Spring Data 一起使用时的最佳实践

构建 RESTful API 和 Web 应用程序时的最佳实践 [关闭]

指定常量哈希映射时的 Rust 最佳实践 [重复]