| Здравствуйте.
Подскажите, как привязать в Access таблицу с SQL, если он (SQL-сервер) находится в интернете?
Какой должна быть строка подключения?
2 июл 09, 13:01 [7367952] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Rivkin Dmitry
Member
Откуда: Israel
Сообщений: 4452
Создай в любом месте файл с расширением udl и запусти его. Выбери провайдера и заполни все необходимые для провайдера поля. Выполни тест подключения. Добейся подключения. Закрой файл и открой его на редактирование. Увидишь в нем твою строку подключения
2 июл 09, 13:39 [7368239] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
Где указывать IP машины, на которой установлен сервак?
Rivkin Dmitry, вы сами так подключали таблицы к акцессу?
2 июл 09, 14:53 [7368748] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Rivkin Dmitry
Member
Откуда: Israel
Сообщений: 4452
Диам
Где указывать IP машины, на которой установлен сервак?
Rivkin Dmitry, вы сами так подключали таблицы к акцессу?
Конечно. Не только к Аксу - стринг универсальный. IP записывай вместо дата-соурс
2 июл 09, 15:03 [7368847] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
вот я создаю связь с таблицей:
Set tdf = CurrentDb.CreateTableDef
tdf.Connect = "приведите тут, пожалуйста, свою строку подключения в качестве примера, если не трудно"
tdf.SourceTableName = "Plan_IC"
tdf.NAME = "_Prob"
tdfs.Append tdf
tdfs.Refresh
2 июл 09, 15:38 [7369203] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Rivkin Dmitry
Member
Откуда: Israel
Сообщений: 4452
Диам,
У тебя какой Акс? Если ты собираешься работать через DAO, то тебе дорога подключаться через ODBC. Я б ыл уверен, что тебе надо подключение ADO. Вот через ODBC я не пробовал подключаться через IP. Но если ты подключишься, то стринг подключения можно будет увидеть в проперти таблицы. Но сначала строишь DSN: Control Panel\Administrative Tools\Data Sources (ODBC)
User DSN -> Add -> SQL Server -> Name <любое имя> Description <любое имя> Server = IP -> подсоеденяешься к серверу, выбираешь БД, тестируешь подключение, сохраняешь
В Аксе -> File -> Get External Data -> Link Tables. Files of Type -> ODBC Databases -> выбираешь твой созданный DSN и любую таблицу из списка. Открываешь затем таблицу в дизайне (не обращая внисания на угрозы Акса) и в пропертях читаешь твой стринг подключения
2 июл 09, 16:28 [7369602] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
У меня 2003. С последующим портированием на 2007. Использую DAO. Кстати, попутный вопрос - можно ли в Акс2003 присоединять таблицы через ADO, чтобы они были видны в списке всех таблиц?
2 июл 09, 20:53 [7370717] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
Rivkin Dmitry,
приведите, пожалуйста, свою строку подключения в качестве примера, пусть даже для ADO
3 июл 09, 10:47 [7372042] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
В Акцессе установил библиотеку msado27.tlb.
На соседнем компе поднял SQL SERVER 2005. Разрешил использование TCP/IP (порт 49152), Проверку подлиности разрешил Windows и SQL.
Пишу следующий код в аксесе:
Dim Con As New ADODB.Connection
Con.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=user1;Data Source=tcp:192.168.69.12,49152"
Ругается: [DBNETLIB][Connection Open (Connect()).] SQL сервер не существует, или отстутствует доступ
Что неправильно?
3 июл 09, 14:59 [7373916] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Guest33
Member
Откуда:
Сообщений: 2008
Вот так, например, работает (для локалки):
Con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=true;Data Source=192.168.0.157,1433;Network Library=DBMSSOCN;Initial Catalog=foliobase;"
Комбинация сведений из connectionstrings.com и метода Rivkin Dmitry
3 июл 09, 16:00 [7374448] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Guest33
Member
Откуда:
Сообщений: 2008
Или так
Con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=false;User ID=sa;Data Source=192.168.0.157,1433;Network Library=DBMSSOCN;Initial Catalog=foliobase;"
3 июл 09, 16:05 [7374503] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
Guest33,
лично у вас работает такой метод? У меня нет, хотя локальная машина пингуется и telnet показывает, что порт у данного IP открыт.
6 июл 09, 08:42 [7378916] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Guest33
Member
Откуда:
Сообщений: 2008
Если бы не работал, я бы данный код не приводил. А SQL сервер на ваш порт (порт 49152) настроен?
6 июл 09, 09:53 [7379086] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
Спасибо, получилось через эту строку подключиться к серверу.
Подключился через ADO, и подключил таблицы с сервера через DAO.
Подключение делал в локальной сети, осталось попробовать связь через интернет.
Ссылка, которая помогла настроить SQL сервер - http://www.intuit.ru/department/database/optmssqlserv2005/5/
6 июл 09, 10:51 [7379340] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Диам
Member
Откуда: Антикапча на VBA http://ag-vba.ucoz.ru
Сообщений: 847
для истории и себя сохраню тут строки подключения:
для ADO
Con.Open "Provider=SQLOLEDB.1;Password=123;Persist Security Info=true;" _
&"User ID=user1;Data Source=192.168.64.122,1433;Network Library=DBMSSOCN;" _
&"Initial Catalog=ReportServerTempDB;"
для DAO
tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=192.168.64.122,1433;" _
&"UID=user1;Pwd=123;APP=Microsoft® Access;WSID=OIT-DIAM;DATABASE=ReportServerTempDB;"
вместо 192.168.64.122 можно ставить DNS, например ddd.dnsalias.com
22 сен 09, 10:58 [7690867] Ответить | Цитировать Сообщить модератору
Re: подключить SQL-таблицу через Internet
Ridddick
Member
Откуда:
Сообщений: 196
Народ, а можно как-то подключиться к базе, указав путь к файлу *.udl? Чтобы в VBA можно было пользоваться конструкцией типа:
Dim Conn_Str, Query as string
Con_Str = "C:\Connect.udl"
Query = "SELECT * FROM [Con_Str].Table" | |