Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Run time error '3706' / 15 сообщений из 15, страница 1 из 1
25.01.2005, 15:02:32
    #32882577
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim conn As ADODB.Connection
Dim rsCustomers As ADODB.Recordset
Set conn = New ADODB.Connection

conn.open "Provider=SQLOLEDB.1;integrated security=SSPI;data source= BB;
persist security info=False;initial catalog= AA;"
Set rsCustomers = New ADODB.Recordset
...
при компиляции возникает следующая ошибка: Run time error '3706'
Method 'Open' of object '_Connection' failed и выделяется строка коннекта.

Та же строка конненкта в VB.NET работает отлично.
...
Рейтинг: 0 / 0
25.01.2005, 15:53:22
    #32882730
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Немного не корректно описал: компиляция проходит нормально, но при вызове conn.open - ошибка!
...
Рейтинг: 0 / 0
25.01.2005, 15:53:28
    #32882731
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Добавить
;Password=111;User ID=Имя

Без пользователя и пароля можно только если
data source = (local)
...
Рейтинг: 0 / 0
25.01.2005, 16:02:02
    #32882763
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Пароль и юзера можно не указывать, если используется виндовая авторизация, и на всех машинах присутствует одинаковый пользователь с правами админа и одинаковым паролем.
Но попробывал добавил - рузьтат тот же.
Хотя ещё раз проверил даннык год в VB.NET с добавлением пассворда и юзера, там всё работает.
...
Рейтинг: 0 / 0
25.01.2005, 16:10:42
    #32882791
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Может
;integrated security=SSPI
заменить на
;Persist Security Info=True
...
Рейтинг: 0 / 0
25.01.2005, 16:17:03
    #32882810
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
И опять не помогает. Что то в корне не верно. А подгружать не чего ни надо, nипо(Imports System.Data)??
...
Рейтинг: 0 / 0
25.01.2005, 16:58:22
    #32882944
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Здесь в меню Project\References ставятся галочки напротив
Microsoft ActiveX Data Ojbects 2.5 Library
Microsoft ActiveX Data Ojbects Recordset 2.5 Library
(версии могут быть другими)

Примеры строк подключения из работающих программ:
Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=Юзер;Initial Catalog=БД;Data Source=Сервер

Provider=MSDataShape.1;Persist Security Info=True;Data Source=Сервер;User ID=Юзер;Password=111;Initial Catalog=БД;Data Provider=SQLOLEDB.1
...
Рейтинг: 0 / 0
25.01.2005, 17:54:22
    #32883114
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
авторMicrosoft ActiveX Data Ojbects Recordset 2.5 Library стоитгалочка
авторMicrosoft ActiveX Data Ojbects Recordset 2.5 Library при выборе орёт - Name conflicts with existing module, project or object library

Ищу в чём конфликт - пока без успешно!
...
Рейтинг: 0 / 0
25.01.2005, 18:05:34
    #32883141
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Значит стоит галочка еще на одной, на одноименной ссылке, но другой версии
...
Рейтинг: 0 / 0
25.01.2005, 18:31:01
    #32883204
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Worobjoff спасибо за помощь.
Убрал все галочки которые якобы не нужны - заработал коннект :).
Теперь проблема с заполнением датагрида.
Код: plaintext
1.
2.
3.
4.
Set rsCustomers = New ADODB.Recordset
        zapros = "SELECT * FROM Alarm"
        Set rsCustomers.ActiveConnection = conn
        rsCustomers.open zapros
        Set DGquery.DataSource = rsCustomers
Run time error '7004' the rowset is not bookmarkable.
...
Рейтинг: 0 / 0
25.01.2005, 19:08:59
    #32883255
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Проблема в том, что по умолчанию рекордсет открывается как
rs.Open "SELECT . . . ", M3.Conn1, adOpenForwardOnly, adLockReadOnly
ForwardOnly - не может быть источником строк грида

надо вот так (один из вариантов)
rs.Open "SELECT . . .", M3.Conn1, adOpenStatic, adLockOptimistic, adCmdText
...
Рейтинг: 0 / 0
25.01.2005, 22:18:40
    #32883433
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
WorobjoffМожет
;integrated security=SSPI
заменить на
;Persist Security Info=True
Это кстати не одно и тоже. Первое - аутентикация виндовс, а второе, если не ошибаюсь запрет пересылки некодитэрованого пароля и логина по сети.
...
Рейтинг: 0 / 0
26.01.2005, 18:21:48
    #32885593
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Да всё сделал - заработало. Уже не удивительно, но возникла другая ошибка. Запихал следующее в ДЛЛ.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Function gettable(ByVal query As String) As ADODB.Recordset

        Dim conn As ADODB.Connection
        Dim rsCustomers As ADODB.Recordset
        Dim constr As String
        Dim zapros As String
        
        Set conn = New ADODB.Connection
        
        constr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=OrwellDB;Data Source=HAMMER;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=HAMMER;Use Encryption for Data=False;Tag with column collation when possible=False"
        conn.open constr
        
        Set rsCustomers = New ADODB.Recordset
                     
        Set rsCustomers.ActiveConnection = conn
        rsCustomers.open query, conn, adOpenStatic, adLockOptimistic, adCmdText
               
        Set gettable = rsCustomers

    End Function

А из тестового приложения вызываю так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub BSearch_Click()

        Dim otvet As query.Class1
        Dim getquery As String

        getquery = CStr(Tquery.Text)
        Set DGquery.DataSource = otvet.gettable(getquery)
End Sub

Результат Run time error '91' Object variable or With block variable not set
...
Рейтинг: 0 / 0
26.01.2005, 18:26:10
    #32885602
Один
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Azart
А из тестового приложения вызываю так.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub BSearch_Click()

        Dim otvet As query.Class1
        Dim getquery As String

        getquery = CStr(Tquery.Text)
        'Set otvet = new query.Class1
   Set DGquery.DataSource = otvet.gettable(getquery)
End Sub

Результат Run time error '91' Object variable or With block variable not set
Забыли создать экземпляр otvet
...
Рейтинг: 0 / 0
26.01.2005, 18:51:17
    #32885651
Azart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Run time error '3706'
Большое спасибо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Run time error '3706' / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]