2009-07-22 2 views
2

Использование VB 6 и Sql Server 2000.Как написать правильную строку соединения SQL?

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

имя Textbox = 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

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

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

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

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

+0

+1 Мне нужно научиться печатать быстрее ... –

11

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

+0

+1: Не знаю, если это поможет с вопросом оригинального человека точно, но это правильный ответ для людей искать и находить этот вопрос в целом. – Beska

Смежные вопросы