Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
24.07.2008, 18:22
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Помогите режить следующую задачку: 3 SQL сервера, на них идентичные базы данных (по ~7 баз на каждом) (тренировочный, основной, терминальный). Пишу на VFP9, использую SQLCONNECT и SQLSTRINGCONNECT Как из фокса (программно) обратиться к необходимой базе данных , расположенной на необходимом серверe? SQLSTRINGCONNECT - не устраивает тем, что с каждым запросом к базе на сервере Х приходится руками определять сервер, базу и т.д. Возможно как-то можно привить данные в ODBC? На крайняк, хотя бы как определить к какому серверу выполняется запрос в данный момент Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.07.2008, 18:34
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Местами администраторSQLSTRINGCONNECT - не устраивает тем, что с каждым запросом к базе на сервере Х приходится руками определять сервер, базу и т.д. А зачем с каждым запросом? А почему нельзя один раз подключится и работать? Сначала создаем себе трудности и потом их героически преодолеваем? А что мешает сделать сразу три подключения к этим трем серверам? Один раз, в начале программы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 09:53
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Я же писал, что базы идентичные, например: server1: db1 db2 db3 server2: db1 db2 db3 server3: db1 db2 db3 Как будет выглядеть программный код в случае, когда хочется: Выбрать данные с сервера server1 базы db2 и сразу выбрать данные с сервера server3 базы db2, дабы сравнить, различия в данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 09:57
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Местами администраторЯ же писал, что базы идентичные, например: server1: db1 db2 db3 server2: db1 db2 db3 server3: db1 db2 db3 Как будет выглядеть программный код в случае, когда хочется: Выбрать данные с сервера server1 базы db2 и сразу выбрать данные с сервера server3 базы db2, дабы сравнить, различия в данных? Батенька, Вы хелп по функции (заметьте, именно функции!) SQLSTRINGCONNECT() читали? Что она возвращает? А первым параметром в SQLEXEC() что подставляете? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 10:42
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Местами администратор правильно тебе говорит Sergey Sizov. Делаешь 3 connect-a, получаешь 3 Handle и работаешь с тремя серверами. Я так с ORACLE перекачиваю информацию на MSSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 11:26
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
lsDSNLess="driver=SQL Server; server; uid; pwd" nstHandle=SQLSTRINGCONNECT(lsDSNLess) IF nstHandle<0 MESSAGEBOX('Сервер не доступен',16,'') RETURN ENDIF tSap='"'+'select * from '+ALLTRIM(thisform.zapros.value)+; IIF(!EMPTY(thisform.uslov.value),' where '+ALLTRIM(thisform.uslov.value),'')+; IIF(!EMPTY(thisform.sortirov.Value), ' order by '+ALLTRIM(thisform.sortirov.Value)+' asc','')+'"' ? SQLEXEC(nstHandle, &tSap, "otvet") IF USED('otvet') SELECT otvet BROWSE ELSE MESSAGEBOX('Ошибка запроса',16,'') ENDIF SQLDISCONNECT(nstHandle) IF USED('otvet') SELECT otvet USE ENDIF Вот так выглядит мой первый запрос к SQL серверу lsDSNLess="driver=SQL Server; server; uid; pwd", если я задаю параметры для server, uid, pvd - окно выбора сервера, ввода пароля, логина не выдается и это хорошо, но тогда я не могу выбрать базу (как я уже говорил из у меня на серваке несколько), и соответственно SELECT не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 11:36
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Местами администраторlsDSNLess="driver=SQL Server; server; uid; pwd", если я задаю параметры для server, uid, pvd - окно выбора сервера, ввода пароля, логина не выдается и это хорошо, но тогда я не могу выбрать базу (как я уже говорил из у меня на серваке несколько), и соответственно SELECT не работает. 1. Ну так изучите синтаксис строки подключения к серверу и вставьте в эту строку имя базы. Пример: Код: plaintext 1.
2. Даже подключившись к серверу без указания базы данных можно обращаться к объектам нужной базы прямо в запросе. Пример: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 11:48
|
|||
---|---|---|---|
Коннект с 3 серверами |
|||
#18+
Местами администраторlsDSNLess="driver=SQL Server; server; uid; pwd", если я задаю параметры для server, uid, pvd - окно выбора сервера, ввода пароля, логина не выдается и это хорошо, но тогда я не могу выбрать базу (как я уже говорил из у меня на серваке несколько), и соответственно SELECT не работает. А кто мешает послать на сервер запрос для выбора нужной базы? Код: plaintext
Кроме того, нет никакой необходимости устанавливать соединение по предварительно созданному DSN. Вполне можно формировать строку подключения целиком "вручную" указывая конкретную базу на нужном сервере. Какие именно реквизиты используются в строке подключения можно посмотреть здесь SQL Server 2005 Один из вариантов Код: plaintext 1. 2.
Реквизиты APP и WSID - не обязательны. Это просто комментарии. Но по ним можно определить кто установил соединение. DataBase - это как раз имя нужной базы данных Trusted_Connection - это режим доверительного соединения. Т.е. режим Windows - аутентификации. Если он установлен в Yes и SQL-сервер поддерживает этот режим, то логин и пароль в строке подключения - игнорируются. Используется логин и пароль при входе в Windows ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 11:48
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Вот теперь во все въехал - в моем help (О.В. Бартеньев книга по VFP) в описании к SQLSTRINGCONNECT нет ни одного слова по поводу DATABASE и LANGUAGE. Посоветуйте толковый HELP ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 11:52
|
|||
---|---|---|---|
|
|||
Коннект с 3 серверами |
|||
#18+
Местами администраторВот теперь во все въехал - в моем help (О.В. Бартеньев книга по VFP) в описании к SQLSTRINGCONNECT нет ни одного слова по поводу DATABASE и LANGUAGE. Посоветуйте толковый HELP Строка коннекта зависит от того, куда подключаешься, а не откуда. Для фокса это просто строка, он про ее содержимое не знает. Потому и хелп по функции, которая просто передает строку дальше никак ее не разбирая, туn совершенно не при чем. Подключаетесь к MS SQL Server? Вот в его доке и ищите описание строки подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.07.2008, 12:02
|
|||
---|---|---|---|
Коннект с 3 серверами |
|||
#18+
Местами администраторВот теперь во все въехал - в моем help (О.В. Бартеньев книга по VFP) в описании к SQLSTRINGCONNECT нет ни одного слова по поводу DATABASE и LANGUAGE. Посоветуйте толковый HELP http://www.connectionstrings.com/ С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1587479]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 331ms |
total: | 497ms |
0 / 0 |