使用动态连接字符串通过vb.net连接到sybase

时间:2016-03-17 02:10:59

标签: vb.net string odbc sybase

我需要您帮助获取使用参数分配服务器,端口和数据库名称的语法。 如果我明确地在命令中传递变量,那么脚本可以正常工作。

Dim myConn1 As Odbc.OdbcConnection = New Odbc.OdbcConnection(“Driver = Adaptive Server Enterprise; uid = XXX; server = & SRVR& ; port = & PRT& ; ;数据库= & dbname& ; pwd = XXX“)

请告诉我我哪里出错了。请求你的快速帮助。 谢谢 Mayur

1 个答案:

答案 0 :(得分:0)

你实际上并没有连接任何字符串。这里有多少双引号:

"Driver=Adaptive Server Enterprise;uid=XXX;server=& SRVR &;port=& PRT &;database=& dbname &;pwd=XXX"

正好有两个,这意味着整个事情就是一个字符串。如果你想加入多个字符串,那么实际上必须有多个字符串:

"Driver=Adaptive Server Enterprise;uid=XXX;server=" & SRVR & ";port=" & PRT & ";database=" & dbname & ";pwd=XXX"

你可以通过不首先使用字符串连接来避免这样的愚蠢问题。您可以使用String.Format或者在VB 2015中使用字符串插值来使事情更清晰,或者您可以在从部件构建连接字符串并使用连接字符串构建器时执行您应该执行的操作。在构建ODBC连接字符串时,您将使用OdbcConnectionStringBuilder类:

Dim builder As New OdbcConnectionStringBuilder("Driver=Adaptive Server Enterprise;uid=XXX;pwd=XXX")

builder("server") = server
builder("port") = port
builder("database") = database

Using connection As New OdbcConnection(builder.ConnectionString)
    '...
End Using