Как написать правильную строку подключения SQL? - PullRequest
2 голосов
/ 22 июля 2009

Использование VB 6 и Sql Server 2000.

В моем коде я использую элемент управления открытого диалога для выбора файла базы данных, после того как я выбрал файл базы данных (Dual_ACS.mdf), он появится в текстовом поле (путь и имя файла)

Имя текстового поля = 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

Ответы [ 3 ]

11 голосов
/ 22 июля 2009

Существует целый сайт, посвященный этой теме: http://www.connectionstrings.com/

7 голосов
/ 22 июля 2009

Если вы уверены, что это строка подключения, проверьте connectionstrings.com - она ​​имеет правильные форматы для сотен строк подключения. Это отличная ссылка.

Вы уверены, что это строка подключения? Почему бы вам не сказать нам, что сообщение об ошибке? А какую версию SQL Server вы используете?

0 голосов
/ 23 июля 2009

Источник данных в соединении SQLOLEDB должен указывать на сервер SQL Server и имя экземпляра (или IP-адрес, но затем необходимо указать порт). См. здесь для уточнения. Вы не можете указать прямо на файл mdf. Это не доступ.

Если вы хотите, чтобы пользователи могли выбирать источник данных, вы должны использовать встроенный в ADO диалог Universal Data Link. Вот пример, взятый из более крупного класса, который я использую. Необходимо добавить ссылку на «Библиотеку типов компонента Microsoft OLE DB Service 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
' -----------------------------------------------------------------------------
...