Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Привет! Столкнулся с проблемой подключения из VBA к серверу с базой данных.

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open (" Provider=SQLNCLI10;Server=adress/SQLEXPRESS;Database=dbname;Uid=username;Pwd=password;")
conn.Close
Set conn = Nothing


При попытке подключения VBA говорит "Поставщик именнованых каналов: Не удалось открыть соединение с SQL сервер [53].

Драйвер SQL Native Client 10.0 загружен и установлен. База работает и с ней даже можно создать связанную таблицу стандартным инструментом акссесса "База данных ODBC". Но вся мякотка в том, что нужно обращаться к базе напрямую, без этих связных таблиц, имея от аксесса только форму. Порт подключения стоит стандартный, т.е 1433. Пытался его даже указать в строке подключения, безрезультатно. Помогите пожалуйста товарищи.
22 июл 14, 12:16    [16340196]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
connectionstrings.com все прочел, инструкции все оттуда. Но VBA упорно не хочет подключаться.
22 июл 14, 12:18    [16340209]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
у вас експресс по умолчанию помоему только виндовая авторизация - поставте миксед
22 июл 14, 12:26    [16340292]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Первый раз слышу, подскажите пожалуйста, как правильно указать?
22 июл 14, 12:28    [16340305]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Maxx,
Прошу прощения, первый раз слышу, подскажите пожалуйста, как правильно указать?
22 июл 14, 12:30    [16340329]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
aleks2
Guest
Loosefer
База работает и с ней даже можно создать связанную таблицу стандартным инструментом акссесса "База данных ODBC". Но вся мякотка в том, что нужно обращаться к базе напрямую, без этих связных таблиц, имея от аксесса только форму. Порт подключения стоит стандартный, т.е 1433. Пытался его даже указать в строке подключения, безрезультатно. Помогите пожалуйста товарищи.


Ты не поверишь! Access способен ПОКАЗАТЬ СВОЮ СТРОКУ ПОДКЛЮЧЕНИЯ.
22 июл 14, 12:40    [16340407]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
На экспрессе TCP/IP по дефолту отключен. По-моему трубы тоже, только шаред мемори.
Смотрите настройки протоколов утилитой.
22 июл 14, 12:41    [16340418]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
aleks2,

Не подскажешь, как посмотреть?
22 июл 14, 13:04    [16340607]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
o-o
Guest
Loosefer,

именованный инстанс сам не сядет на дефолтный порт, вы его ручками на 1433 усадили?
так что там скорее всего динамический порт, и поди браузер отключен.
все это + протоколы смотрится в SQL Server Configuration Manager
22 июл 14, 13:15    [16340670]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
o-o,

Увы, но порт указан там 1433.
22 июл 14, 13:59    [16341003]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
o-o
Guest
Loosefer,

так прямо никто не трогал этот экспресс,
он сам сел именованным на 1433, и tcp/ip открыто?
вот такую картинку покажите, плиз:

К сообщению приложен файл. Размер - 21Kb
22 июл 14, 14:38    [16341299]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
o-o,

Скрин дать не могу, прав до сервера у меня увы нет, но зато я там мог лицезреть что TCP/IP Enabled, а тип порта статический 1433.
Но я не нашел там SQLEXPRESS, а только MSSQLSERVER. Я так понимаю это instance и стал указывать его, и теперь, когда я указываю это вот так:
conn.Open (" Provider=SQLNCLI10;Server=ipaddress\MSSQLSERVER;Database=dbname;Uid=username;Pwd=password;")

Мне возвращает ошибку:
Сетевые интерфейсы SQL Server: Недопустимая строка подключения[87]
А если я укажу SQLEXPRESS то:
Сетевые интерфейсы SQL Server: Не удается найти указанный сервер\экземпляр [xFFFFFFFFF]
22 июл 14, 15:07    [16341557]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
начните с файлика UDL, а потом уже готовую строку подключения из него скопируете к себе в программу
22 июл 14, 15:10    [16341572]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
o-o
Guest
вот который MSSQLSERVER, тот и есть дефолтный, у него и правда порт 1433.
по-моему надо сперва выяснить, к чему вообще подключаетсь,
а то похоже, вы и сами того не знаете.

...но раз откуда-то получается подключиться, попробуйте по виндовой авторизации.
т.е. не указывая явно логин и пароль, а указав в строке подключения Trusted
22 июл 14, 15:18    [16341629]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
а Браузер запущен ?
22 июл 14, 15:19    [16341637]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Konst_One,

Получилось! Через поставщик Microsoft OLE DB Provider for ODBC Drivers.
Строка сборки

DSN=ipadress/Security;Description=text;UID=usernamer;PWD=password;APP=Операционная система Microsoft® Windows®;WSID=myterminserver;DATABASE=dbname

как это теперь отразить в VBA? Какой драйвер правильный указать? Прям эту строку в VBA пихать?
22 июл 14, 15:26    [16341697]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Maxx,

не понимаю, какой браузер?
22 июл 14, 15:27    [16341702]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Server=ИМЯКОМПЬЮТЕРА
22 июл 14, 15:45    [16341862]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
aleks2
Guest
Loosefer
aleks2,

Не подскажешь, как посмотреть?


К сообщению приложен файл. Размер - 59Kb
22 июл 14, 15:55    [16341962]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
aleks2
Guest
И фсе

К сообщению приложен файл. Размер - 15Kb
22 июл 14, 15:56    [16341974]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
А какой драйвер нужно указать для Provider=MSDASQL.1;?
22 июл 14, 15:57    [16341980]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Loosefer
Member

Откуда:
Сообщений: 11
Спасибо большое что подтолкнули к решению проблемы, оно нашлось. Строка подключения выглядит так:
  Dim conn As ADODB.Connection
  Set conn = New ADODB.Connection
  Set rs = CreateObject("ADODB.Recordset")
        conn.Open ("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=username;pwd=password;Initial Catalog=dbname;Data Source=ipaddress")
        st = "select * from table" 'берем все записи
        rs.Open st, conn' открываем рекордсет
        i = 1
        rs.MoveFirst
        Do Until rs.EOF
        i = i + 1
        MsgBox (rs.Fields(0)) 'циклом перебираем все записи и их айдишники показываем мбоксом
        rs.MoveNext
        Loop

Напомню что искал способ подключения из VBA Access 2010 к MS SQL Server 2008 R2
22 июл 14, 16:59    [16342438]     Ответить | Цитировать Сообщить модератору
 Re: Подключение к MS SQL Server 2008 из VBA Access 2010 через SQLNCLI10  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
в форуме по акцесу быстрее бы подсказали, это на будущее
22 июл 14, 17:12    [16342547]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить