Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Парамеры строки подключения OLEDB (число прочтений - 5549 )
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Парамеры строки подключения OLEDB
24. Марта 2009 :: 11:47
Печать  
Код
Выбрать все
Процедура Сформировать()
	ADODBConn = CreateObject("ADODB.Connection");
	ConnectString = "
	|Provider=VFPOLEDB.1;
	|Deleted=-1;
	|Null = Yes;
	|Exclusive = No;
	|SourceType = DBF;
	|Data Source=D:\LeOV\_Bases1C_\TIS\DemoDB;
	|Mode=ReadWrite;
	|Extended Properties="""";
	|User ID="""";
	|Password="""";
	|Mask Password=False;
	|Collating Sequence=MACHINE;
	|DSN=""""";
	ADODBConn.ConnectionString = ConnectString;
	ADODBConn.Open();
	Для i=0 по ADODBConn.Properties().Count-1 Цикл
		Сообщить(СокрЛП(i)+" | Property.Name: " + ADODBConn.Properties(i).Name+ "| Property.Type: " +  ADODBConn.Properties(i).Type);
		Если ADODBConn.Properties(i).Type = 19 Тогда
			//Сообщить("Property.Value: " +  СокрЛП(ADODBConn.Properties(i).Value));
			Сообщить("Property.Attributes: " +  Число(ADODBConn.Properties(i).Attributes));
		Иначе
			Сообщить("Property.Value: " +  ADODBConn.Properties(i).Value);
			Сообщить("Property.Attributes: " +  ADODBConn.Properties(i).Attributes);
		КонецЕсли;
	КонецЦикла;
	ADODBConn.Close();
	ADODBConn = 0;
КонецПроцедуры
 



В результате получим
Цитата:
0 | Property.Name: Current Catalog| Property.Type: 8
Property.Value:
Property.Attributes: 1537
1 | Property.Name: Active Sessions| Property.Type: 3
Property.Value: 0
Property.Attributes: 513
2 | Property.Name: Alter Column Support| Property.Type: 3
Property.Value: 500
Property.Attributes: 513
3 | Property.Name: Asynchable Abort| Property.Type: 11
Property.Value: 0
Property.Attributes: 513
4 | Property.Name: Asynchable Commit| Property.Type: 11
Property.Value: 0
Property.Attributes: 513
5 | Property.Name: Pass By Ref Accessors| Property.Type: 11
Property.Value: 0
Property.Attributes: 513
6 | Property.Name: Catalog Location| Property.Type: 3
Property.Value: 1
Property.Attributes: 513
7 | Property.Name: Catalog Term| Property.Type: 8
Property.Value: Database
Property.Attributes: 513
8 | Property.Name: Catalog Usage| Property.Type: 3
Property.Value: 1
Property.Attributes: 513
9 | Property.Name: Column Definition| Property.Type: 3
................

И так 90 строк
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Парамеры строки подключения OLEDB
Ответ #1 - 24. Марта 2009 :: 11:49
Печать  
Property.Type =
Цитата:
Целое число (long), тип данных параметра (строка, число, булево и т.д.). Подробнее - см. в MSDN значения перечисления DataTypeEnum. Некоторые возможные значения:
adEmpty(0) - значение не задано.
adSmallInt(2) - двухбайтное целое со знаком.
adInteger(3) - четырёхбайтное целое со знаком.
adSingle(4) - число с плавающей запятой с одинарной точностью.
adDouble(5) - число с плавающей запятой с двойной точностью.
adCurrency(6) - денежная сумма с фиксированной точкой с четырьмя цифрами справа от десятичной точки (восьмибайтное целое число со знаком).
adError(10) - 32-битный код ошибки.
adBoolean(11) - булево значение.
adDecimal(14) - числовое значение с фиксированной точностью и масштабом.
adTinyInt(16) - однобайтное целое со знаком.
adUnsignedTinyInt(17) - однобайтное целое без знака.
adUnsignedSmallInt(18) - двухбайтное целое без знака.
adUnsignedInt(19) - четырёхбайтное целое без знака.
adBigInt(20) - восьмибайтное целое со знаком.
adUnsignedBigInt(21) - восьмибайтное целое без знака.
adBinary(128) - двоичное значение.
adChar(129) - строковое значение.
adUserDefined(132) - определяемая пользователем переменная.
adDBDate(133) - дата формата yyyymmdd.
adDBTime(134) - время формата hhmmss.
adDBTimeStamp(135) - дата и время формата yyyymmddhhmmss плюс тысячные доли секунды

http://www.script-coding.info/ADO.html#ConnectionObject
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Парамеры строки подключения OLEDB
Ответ #2 - 24. Марта 2009 :: 15:10
Печать  
Это свойства Ole DB , а не параметры строки подключения

Перечень свойств c детальным описанием
http://msdn.microsoft.com/en-us/library/ms723066(VS.85).aspx
в том числе поддерживаемые FoxPro
http://msdn.microsoft.com/en-us/library/a9s9c0y3(VS.80).aspx

лично мне не очень понятно, как  эту инфу использовать Улыбка

А вот возможность в подключении указывать свойства среды с помощью 0, -1 весьма интересна
http://www.1cpp.ru/forum/YaBB.pl?num=1148038411/29#29
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Парамеры строки подключения OLEDB
Ответ #3 - 24. Марта 2009 :: 15:41
Печать  
Свойства среды выполнения FoxPro, которые могут задаваться в параметрах подключения.

Установка свойства.
Обычно командой SET Пример
Код
Выбрать все
локОлеДБКоманда.Выполнить("SET TABLEVALIDATE TO 0");  


- разрешить использование прямых в модуле документа (буквально - не блокировать монопольно заголовки таблиц)

Чтение .
Обычно функцией SYS
Код
Выбрать все
ТЗ=локОлеДБКоманда.ВыполнитьИнструкцию("SYS(0)");
	ТЗ.ВыбратьСтроку(); 


- сетевая информация о рабочей станции

Описание SET и SYS в документации
от разработчика http://msdn2.microsoft.com/en-us/library/aa468129.aspx
на русском       http://www.foxclub.ru/rhproject/project/
ввиде chm-файла       http://www.1cpp.ru/forum/YaBB.pl?num=1185783552
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Парамеры строки подключения OLEDB
Ответ #4 - 25. Марта 2009 :: 04:41
Печать  
Цитата:
А вот возможность в подключении указывать свойства среды с помощью 0, -1 весьма интересна

Именно поэтому и начал ковырять ADODBConn.Properties()

ADODBConn.Properties(i).Type = 11 - adBoolean(11) - булево значение.
  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Парамеры строки подключения OLEDB
Ответ #5 - 25. Марта 2009 :: 05:29
Печать  
Цитата:
Код
Выбрать все
локОлеДБКоманда.Выполнить("SET TABLEVALIDATE TO 0");  
 




А можно и так

Код
Выбрать все
Provider=VFPOLEDB.1;
Deleted=-1;
ANSI=-1;
TABLEVALIDATE=0;
Null = Yes;
Exclusive = No;
SourceType = DBF;
Data Source=D:\LeOV\_Bases1C_\TIS\DemoDB;
Mode=ReadWrite;
Extended Properties=;
User ID=;
Password=;
Mask Password=False;
Collating Sequence=MACHINE;
DSN=; 

  
Наверх
 
IP записан
 
leov-001
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 150
Зарегистрирован: 05. Марта 2009
Re: Парамеры строки подключения OLEDB
Ответ #6 - 25. Марта 2009 :: 05:42
Печать  
Код
Выбрать все

TABLEVALIDATE=3;
MVCOUNT=20000;
CODEPAGE=1251;
 




И так можно.

Некоторые параметра можно в строк подключения указавать. Если Property.Attributes=1537

« Последняя редакция: 25. Марта 2009 :: 09:06 - leov-001 »  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Парамеры строки подключения OLEDB
Ответ #7 - 25. Марта 2009 :: 08:30
Печать  
leov-001 писал(а) 25. Марта 2009 :: 05:42:
Код
Выбрать все

TABLEVALIDATE=3;
MVCOUNT=20000;
CODEPAGE=1251;
 




И так вожно.

Некоторые параметра можно в строк подключения указавать. Если Property.Attributes=1537



Да, интересно.
Как то искал как установить Кодовую страницу для нестандартных кодировок файлов  Улыбка
Похоже эти установки перечислены в разделе
"Специальные термины для конфигурационных файлов" справки для fox.

Из интересного кроме CODEPAGE нашел там только
PROGWORK path Определяет - где Visual FoxPro будет хранить файл программного кэша.
Можно указать диск в оперативке.
Не знаю насколько это может ускорить выполнение - фокс и так промежуточные результаты  запросов
помещает в оперативку.

Фоксисты также считают, что из установок не ззатрагиваемых командами SET и SYS() интересны только  CODEPAGE и PROGWORK
http://sql.ru/forum/actualthread.aspx?tid=149838&hl=progwork
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать