你好,当我在服务器上运行我的应用程序时,连接无法打开 - >我的数据集仍然关闭
Dim strconnect As String = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + "rootPath" + "\" + "VSS_TESTDB.mdb" + "Persist Security Info=False"
Dim objConnection As New OleDbConnection(strconnect)
Dim sql As String = "SELECT VSS_Files.id, VSS_Files.filename,VSS_Files.dateOfCreation,VSSDirs.dir FROM VSS_Files , VSSDirs Where VSS_Files.dir_id = VSSDirs.id;"
Dim cmd As New OleDbCommand(sql, objConnection)
Dim myDataReader As OleDbDataReader
myDataReader = cmd.ExecuteReader()
我能做什么?
问候tyzak
答案 0 :(得分:1)
您需要使用OleDbConnectionStringBuilder创建OleDbConnection以连接到数据库。
例如:
Dim builder As New OleDbConnectionStringBuilder
builder.Provider = "Microsoft.Jet.OLEDB.4.0"
builder.DataSource = Path.Combine(rootPath, "VSS_TESTDB.mdb")
builder.PersistSecurityInfo = False
Using connection As New OleDbConnection(builder.ToString())
Using command As New OleDbCommand("SELECT VSS_Files.id, VSS_Files.filename,VSS_Files.dateOfCreation,VSSDirs.dir FROM VSS_Files, VSSDirs Where VSS_Files.dir_id = VSSDirs.id;", connection)
connection.Open()
Using reader As OleDbDataReader = command.ExecuteReader()
'Do something
End Using
End Using
编辑:您的问题可能是您在rootPath
附近加上引号。您的连接字符串的Data Source
为DataSource=rootPath\VSS_TESTDB.mdb
。我假设您确实希望它具有rootPath
变量的值。
此外,您需要打开连接。
最后,您应该使用Using
语句关闭连接和DataReader。
请参阅我的更新示例。
答案 1 :(得分:0)
这个问题非常模糊,很难从一行代码中正确诊断。以下是一些建议:
您需要将此连接字符串分配给连接对象。
有关连接字符串的完整且正确的表单,请参阅http://www.connectionstrings.com/。