Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
kto-to
Зарегистрирован: 28.11.2005 Сообщения: 10
|
Добавлено: Чт 18 Май 2006 15:02 Заголовок сообщения: Определение расположения каталога с растровыми файлами |
|
|
Каким образом в программе можно определить каталог, где расположены растровые файлы? Программу пишу на VBScript. |
|
Вернуться к началу |
|
|
kto-to
Зарегистрирован: 28.11.2005 Сообщения: 10
|
Добавлено: Пн 22 Май 2006 15:29 Заголовок сообщения: |
|
|
Решение успешно найдено |
|
Вернуться к началу |
|
|
Гильданов Ришат
Зарегистрирован: 11.03.2005 Сообщения: 27 Откуда: Башкирия, г.Стерлитамак
|
Добавлено: Чт 06 Июл 2006 16:29 Заголовок сообщения: |
|
|
Если не сложно поделись опытом |
|
Вернуться к началу |
|
|
kto-to
Зарегистрирован: 28.11.2005 Сообщения: 10
|
Добавлено: Чт 06 Июл 2006 17:33 Заголовок сообщения: Путь с растровыми файлами |
|
|
Поделюсь конечно. Эти пути прописаны в файле Ingeo.cfg, который расположен в корневом каталоге программы Ingeo.
Я считываю путь именно из этого файла.
Вот код на VBScript. Довольно все просто.
Код: |
sub search_rastr()
dim fso,f,source,num1,num2,num3,str,rastr
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\Program Files\Integro\InGeo\Ingeo.cfg", 1, True)
str = f.ReadAll
num1=Instr(1,str,"our_base")
num2=Instr(num1,str,"rasters-location")
num3=Instr(num2,str,"sem-logon-type")
rastr=Mid(str,num2+18,num3-num2-22)
end sub
|
В переменной rastr находится нужный нам путь.
В этом коде нужно поменять только название базы и в случае необходимости путь расположения файла Ingeo.cfg и все будет работать. |
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пт 07 Июл 2006 09:52 Заголовок сообщения: |
|
|
Для чтения файла конфигурации лучше использовать следующий скрипт:
Код: |
option explicit
function GetRastersLocation(dbId)
dim configDoc, dbNode
set configDoc = CreateObject("MSXML.DOMDocument")
configDoc.async = False
configDoc.load "c:\Program Files\Integro\InGeo\InGeo.cfg"
set dbNode = configDoc.DocumentElement.SelectSingleNode("database[@id='" & dbId & "']")
if dbNode is Nothing then
GetRastersLocation = Null
else
GetRastersLocation = dbNode.getAttribute("rasters-location")
end if
end function
dim rastersLocation
rastersLocation = GetRastersLocation("{AD629885-3B0B-4968-BB00-3E849FAA0379}")
if IsNull(rastersLocation) then
MsgBox "База данных не зарегистрирована или используется доступ к растрам посредством сервера данных."
else
MsgBox "Каталог размещения растров: " & rastersLocation
end if
|
Замечу, что если доступ к растрам организован посредством сервера данных ИнГео, то прямого доступа к растровым файлам с клиента не получить.
Тем не менее изображение растровой карты можно получить посредством API ИнГео (метод IIngeoDb.PaintXml). _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
СергейТ
Зарегистрирован: 17.06.2005 Сообщения: 44 Откуда: Новосибирск
|
Добавлено: Ср 09 Авг 2006 15:30 Заголовок сообщения: |
|
|
Михаил Власов писал(а): |
Замечу, что если доступ к растрам организован посредством сервера данных ИнГео, то прямого доступа к растровым файлам с клиента не получить.
|
Здравствуйте, подскажите пожалуйста, как получить прямой доступ к БД семантики, если подцеплена посредством сервера данных? Т.е. как посредством ИнГео API узнать параметры подключения используемые сервером данных? |
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пт 25 Авг 2006 10:47 Заголовок сообщения: |
|
|
Если Вам необходимо работать с таблицами, размещенными в БД семантики, используйте объект IIngeoSemDbTable.
Если же Вам необходимо выполнять сложные запросы SQL (с элементами JOIN), или вызывать хранимые процедуры, тогда выполняйте работу с сервером SQL при помощи прямого подключения, например через ADO. Параметры подключения можно хранить в пользовательском профиле БД ИнГео (объект Application.UserProfile).
В API ИнГео нет средств узнать параметры подключения к семантической БД. Это связано с тем, что в планах развития ИнГео работа с сематикой будет производиться посредством сервера данных ИнГео. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
andreichernov
Зарегистрирован: 14.02.2005 Сообщения: 209 Откуда: Самара
|
Добавлено: Вс 03 Сен 2006 13:59 Заголовок сообщения: |
|
|
Вот, Михаил, а Вы даже и не вспомнили , что в новом Ингео
можно напрямую выполнять произвольные запросы с JOINами
с помощью API Ингео. |
|
Вернуться к началу |
|
|
Михаил Власов
Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 04 Сен 2006 09:27 Заголовок сообщения: |
|
|
Совершенно верно. Выполнить произвольный запрос можно при помощи метода IIngeoSemDbTables.ExecSQL. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
|
|