powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
17 сообщений из 17, страница 1 из 1
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39355724
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работаю в Visual FoxPro 9 SP2 несколько лет.
Всегда работал с родными базами и DBF файлами Visual FoxPro 9 SP2 к другим базам не подключался так как не было необходимости.

Возникла необходимость подключения к SQL Server 2008 R2.
Программное обеспечение SQL Server 2008 R2 и база установлены на другом компьютере в локальной сети.
Информацию по подключению уже искал в интернете но не нашёл.

Прошу описать пошагово процесс подключения Visual FoxPro 9 SP2 к SQL Server 2008 R2

1. шаг
2. шаг
3. шаг ...

Заранее благодарен!
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39355755
p672,

или вы врете, или ...

К ms sql серверу мог подключаться, хоть и с трудом, еще FP 2.0 выпуска начала девяностых годов прошлого века. А уж про VFP и говорить не приходится ибо в нем сей процесс упрощен до нельзя. И потому инфы в инете по этой теме как грязи. Хотя достаточно прочитать доку по VFP.
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39355766
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,
1. Скачать и установить на всех клиентах native client (Для каждой версии и битности MS SQL Servera он свой, скачивается с майкрософтовского сайта)
2. Лично я к базам подключаюсь так:

Заголовок
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
   *База MyBase1
    MYSQLCONNECT="driver={SQL Server Native Client 11.0};server=MyServer;database=MyBase1;Trusted_Connection=Yes" && Строка соединения с SQL Сервером
    LNCONNBase1=SQLSTRINGCONNECT(MYSQLCONNECT)
    IF LNCONNBase1 < 0
        WAIT WINDOW "Нет соединения" TIMEOUT 5
        QUIT 
    ELSE
        WAIT WINDOW "Соединение установлено" NOWAIT
    ENDIF
    =SQLEXEC(LNCONNBase1,"")

    *База MyBase2
    MYSQLCONNECTZHURNAL="driver={SQL Server Native Client 11.0};server=MyServer;database=MyBase2;Trusted_Connection=Yes" && Строка соединения с SQL Сервером
    LNCONNBase2=SQLSTRINGCONNECT(MYSQLCONNECTZHURNAL)
    IF LNCONNBase2 < 0
        WAIT WINDOW "Нет соединения" TIMEOUT 5
        QUIT 
    ELSE
        WAIT WINDOW "Соединение установлено" NOWAIT
    ENDIF
    =SQLEXEC(LNCONNBase2,"")
   *    
   *
   *
*   Пример: 
    STROKASQL_New='SELECT * FROM MyTable' && Команда для SQL-сервера
    SQLEXEC(LNCONNBase1, STROKASQL_New, 'temp_sql',VIVODMASSIV) && Данные из SQL-серверной таблицы базы MyBase1 сбрасываются в курсор 
temp_sql. Процедуры, функции, последовательности и т.д. вызываются подобным образом


...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39356033
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

Устанавливаете на клиентах натив клиента, не ниже сервера
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
cconn='DRIVER='+dr+'SERVER='+srv+'database='+db+'UID='+uid+'PWD='+pwd
IF varTYPE(cconn) = "L" AND !cconn
	= MESSAGEBOX('Соединение невозможно! Ошибка в INI-файле!', 16, 'Ошибка соединения MS SQL')
	RETURN .f. 
ELSE
	SqlSetProp(0,"DispLogin",3) 
	SqlSetProp(0,"DispWarnings",.F.) 
	CURSORSETPROP("MapBinary", .T., 0)
	STORE SQLSTRINGCONNECT(cconn) TO gnConn
	IF gnConn< 1
		= MESSAGEBOX('Невозможно соедениться с сервером данных!', 16, 'Ошибка соединения MS SQL')
		RETURN .f. 
	ENDIF 
ENDIF 	


В строке коннекта dr - имя драйвера например DR='SQL Server Native Client 11.0;'
Остальное думаю ясно)
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39356343
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю всех за ответы!
Зашел на сайт Microsoft - там только какой-то один натив клиент нашел : SQL Server Native Client 10.0
Что по результатам скачки он из себя должен представлять?!
Это один исполнимый файл либо архив?!
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39356344
p672,
в общем-то, ничего ниоткуда скачивать не надо. Стандартный драйвер под именем "SQL Server" и так уже входит в систему с дремучих версий. Потренируйтесь пока на нём.
Что по результатам скачки он из себя должен представлять?!
Это один исполнимый файл либо архив?! И ни то, и ни другое. Это .msi файл, винда при его открытии запустит установщик.
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39356364
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильный проходящий.p672,
в общем-то, ничего ниоткуда скачивать не надо. Стандартный драйвер под именем "SQL Server" и так уже входит в систему с дремучих версий. Потренируйтесь пока на нём.

Вроде устаканились на "SQL Server Native Client 11.0". Сервера и менеджмент студии меняются, а драйвер тот же.
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39356506
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильный проходящий.p672,
в общем-то, ничего ниоткуда скачивать не надо. Стандартный драйвер под именем "SQL Server" и так уже входит в систему с дремучих версий. Потренируйтесь пока на нём.

С ним будут проблемы с новыми типами данных.
В частности с date.

Их 2 разных файла, с 1м названиям))))
1 64 другой для 32 разрядов.
Я тупо переименовал sqlncli64, что бы не путаться)

Все легко находится
Как пример
http://www.npackd.org/p/sqlncli64/10.50.1600.1
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39390916
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Установил на компьютер натив клиент нужный, попробовал макросом из Excel 2003 связаться с SQL Server 2008 R2 (он в сети на сервере)
всё работает! )))
-------------------------------------------------
Попробовал установить соединение с SQL Server 2008 R2 через Visual FoxPro 9 SP2 используя эту же строку STRINGCONNECT :

Prog1.prg
Код: vbnet
1.
2.
3.
4.
5.
6.
m.u=SQLSTRINGCONNECT("Provider=SQLNCLI10;Server=RESER;Database=BA;Uid=Fedor;Pwd=123;")
IF m.u>0
ELSE
MESSAGEBOX("нет соединения",0,"Connect to SQL")
ENDIF
RETURN (m.u>0)



появляется окно и пишет:
"Выберите файловый источник данных, описывающий драйвер с которым надо установить связь. Допускается использовать любой файловый источник данных, который ссылается на драйвер ODBC, установленный на данном компьютере"

Что изменить? Как связаться с SQL Server 2008 R2 через Visual FoxPro 9 SP2 ?
Повторяю Если даже из Excel 2003 всё работает(строка коннекта) , а на Visual FoxPro 9 SP2 - не получается.
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39390918
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вместо Provider написать Driver в строке коннекта то сразу пишет: "нет соединения"
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39390943
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строка должна быть такой
Код: sql
1.
Driver={SQL Server Native Client 11.0};SERVER=...;DATABASE=...;UID=...;PWD=...


Возможно у 2008 не 11й драйвер.
Установленные драйверы смотреть в Панели управления - Администрирование - Источники данных (ODBC) - вкладка Драйверы.

При неудачном подключении не забывай ошибку читать. см. AERROR()
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39390964
Dima TСтрока должна быть такой
Код: sql
1.
Driver={SQL Server Native Client 11.0};SERVER=...;DATABASE=...;UID=...;PWD=...


Возможно у 2008 не 11й драйвер. Возможно. Тогда вместо
Код: sql
1.
SQL Server Native Client 11.0 

писать
Код: sql
1.
SQL Server Native Client 10.0 

или
Код: sql
1.
SQL Server
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39391019
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал по вашему совету, теперь не выдаёт сообщение, как узнать произошло ли соединение?!
- в окне Data Session ничего нет, нет открытых таблиц, оно пусто.

Как работать с таблицами на SQL Servere ?
Например для начала открыть таблицу на просмотр?
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39391142
p672Сделал по вашему совету, теперь не выдаёт сообщение, как узнать произошло ли соединение?!Что значит как? Если вы выполняете код:
Код: sql
1.
2.
3.
4.
5.
6.
m.u=SQLSTRINGCONNECT("Provider=SQLNCLI10;Server=RESER;Database=BA;Uid=Fedor;Pwd=123;")
IF m.u>0
ELSE
MESSAGEBOX("нет соединения",0,"Connect to SQL")
ENDIF
RETURN (m.u>0)


и он отрабатывает без сообщений, то неужели непонятно, что соединение установилось и в m.u лежит хендл этого соединения?
ле
- в окне Data Session ничего нет, нет открытых таблиц, оно пусто.А что и на каком основании вы там ожидали увидеть?
Как работать с таблицами на SQL Servere ?Запросами к серверу.Например для начала открыть таблицу на просмотр?Для начала забыть про термин "открыть" в применении к таблицам. Таблицами теперь управляете не вы, а сервер. Из них можно получить строку отправив через sqlexec() запрос на выборку данных из нужных таблиц. И при успешном выполнении запроса как раз в datasession кое-что и появится.
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39391293
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672,

изучаем SqlExec(), CursorAdapter
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39391873
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL Server Native Client 11.0 работает со всеми серверами. (Проверено от 2005 до 2016)
Но в строке надо писать, именно тот, который установили.
Потому может быть и SQL Server Native Client 10.0

Если соединение установлено, (а это легко проверить, у хендла появится номер, через дебагер, и еще 100500 способов) сделай выборку из любой таблицы


Код: sql
1.
2.
cSql='select * from SomeTable'
nRes = SQLEXEC(gnConn,cSQL,'MyCursor')


Где gnConn - хендл соединения.
Получишь на клиенте курсор MyCursor. Который будет копией таблицы сервера.
Все это для 1го знакомства, в реале, так не надо)))

Для доступа есть 2 средства
1. SQLEXEC
2. CursorAdapter

Второе, гораздо продвинутее, но требует понимания и разбирательства)))

Кажется правильный проходящий когда то кому то здесь, целую школу преподал. Поищи.
Может он сам наведет)
...
Рейтинг: 0 / 0
Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
    #39391879
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p672Например для начала открыть таблицу на просмотр?
Клиент-серверная организация работы, предполагает, что ты получая курсор с сервера, получаешь мгновенный снимок, того что хочешь. И это именно, и только просмотр.
Для редактирования данных, используются соответствующие команды запроса.
CursorAdapter может несколько помочь в этом. Но понимать что это другие команды - необходимо.
Прочтите что то на эту тему.
Там чтения на пол часа
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в Visual FoxPro 9 SP2 подключиться к SQL Server 2008 R2 ?!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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