使用VB 6和Sql Server 2000。
在我的代码中我使用开放式对话框控件来选择数据库文件,一旦我选择了数据库(Dual_ACS.mdf)文件,它就会出现在文本框中(路径和文件名)
Textbox name = databasetext
我的代码。
Cn.ConnectionString = "Provider=SQLOLEDB.1; Persist Security Info=False;User ID=" & UName & ";Password=" & PWord & ";InitialCatalog=DUAL_ ACS; Data Source=" & databasetext & ""
Cn.Open
但它显示错误。如何编写正确的SQL连接字符串?
需要VB 6代码帮助
答案 0 :(得分:11)
整个网站专门讨论此主题:http://www.connectionstrings.com/
答案 1 :(得分:7)
如果您确定它是连接字符串,请检查connectionstrings.com - 它具有数百个连接字符串的正确格式。这是一个很好的参考。
你确定它是连接字符串吗?你为什么不告诉我们错误信息是什么?您使用的是哪个版本的SQL Server?
答案 2 :(得分:0)
SQLOLEDB连接中的数据源需要指向SQL Server服务器和实例名称(或IP,但您需要指定端口)。有关详细信息,请参阅here。 您不能直接指向mdf文件。这不是访问。
如果您希望用户能够选择数据源,则应使用ADO内置的通用数据链接对话框。这是从我使用的更大类中提取的示例。您需要添加对“Microsoft OLE DB服务组件1.0类型库”或C:\ Program Files \ Common Files \ system \ ole db \ oledb32.dll的引用。 如果您只需要查看连接字符串的外观,只需创建一个名为test.udl的文件,然后双击它即可。这里使用的接口与此代码中调用的接口相同。
' -----------------------------------------------------------------------------
' Edit
'
' Description:
' Edits the udl
'
' Arguments:
'
' Dependencies:
' MSDASC.DataLinks.PromptEdit
' MSDASC.DataLinks.PromptNew
'
' History:
' 05/23/2003 - WSR : Created
'
Public Function Edit() As Long
Dim dlgEdit As MSDASC.DataLinks
Dim strConnection As String
Set dlgEdit = New MSDASC.DataLinks
' if there is a connection string
If Len(m_conSource.ConnectionString) > 0 Then
' prompt user to edit the connection
If Not dlgEdit.PromptEdit(m_conSource) Then
' if they didn't edit the connection string
' return error code
Edit = -1
End If
' if there is no connection string
Else
' prompt user to create new connection
On Error Resume Next
strConnection = dlgEdit.PromptNew()
' if there was a connection string created
If Len(strConnection) > 0 Then
' use it
m_conSource.ConnectionString = strConnection
' if there was no connection string created
Else
' return error code
Edit = -1
End If
End If
Set dlgEdit = Nothing
End Function
' -----------------------------------------------------------------------------