2009-12-09 55 views
0

当使用下面的代码通过ODBC连接到Sybase ASE数据库时,我会偶尔得到'[IM006] [Microsoft] [ODBC驱动程序管理器]驱动程序的SQLSetConnectAttr失败'错误。我是否打开和关闭我的ODBC连接不正确?

这可能是由我的代码造成的吗?我读here,我应该使用'With'语句,但我不明白这将如何影响这一点。

在此先感谢!

Try 
     odsConn.Open() 
     Dim acctCheckString As String = sB.ToString 
     Dim odsCmd As New OdbcCommand(acctCheckString, odsConn) 

     odsRtrn = CStr(odsCmd.ExecuteScalar).TrimEnd 
    Catch ex As Exception 
     odsRtrn = ex.Message.ToUpper 
     odsRtrn = CheckError(odsRtrn) 
    Finally 
     odsConn.Close() 
    End Try 

回答

0

我对于没有回答您的具体问题插嘴道歉,但如果我可以提个建议......

在2009年,如果你正在使用vb.Net,而你还在使用ODBC,你应该(认真)检查出ADO.Net托管代码数据提供者。有一个用于Sybase ...

SyBase ADO.Net Providers

这将完全取代ODBC库。他们更容易使用。

+0

那些看起来真棒,谢谢。我会看看我是否可以说服我的老板,但它可能很难:( – gibbo 2009-12-09 16:57:57

+0

还有DataDirect的第三方驱动程序... http://www.datadirect.com/products/net/net_for_sybase/index.ssp 我没有使用任何这些,(不是Sybase的人),但我建议你检查一下 – 2009-12-09 17:02:47

+0

是的,我们最初看着它们,但是它们有点贵,再次感谢。 – gibbo 2009-12-09 17:06:02