Имя: Пароль:
1C
1С v8
v8: Ошибка при подключении к базе fdb
0 mazafakuh
 
26.06.13
11:55
Всем доброго времени суток.Поиском не нашел решения проблемы . Помогите кто сталкивался.

Есть задача вытянуть данные из файла с расширением  FDB  . Это база данных нашей электронной проходной.  Данные нужны для последующей обработки их в 1с8.



код.

ПутьКФайлуБД     = "D:\SCD17K.FDB";

   
   
  ПутьКСерверу="";
   ПутьКБазе=ПутьКФайлуБД;
   ИмяПользователя = "SYSDBA";
   ПарольПользователя = "MASTERKEY";
   
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.ConnectionString ="DSN=FireBird;Driver={Firebird/InterBase(r) driver};Dbname="+ПутьКСерверу+":"+ПутьКБазе+";CHARSET=NONE;Uid="+СокрЛП(ИмяПользователя)+";Pwd="+ПарольПользователя+";Client=gds32.dll";
Соединение.ConnectionTimeout = 60;
Соединение.CursorLocation = 3;

Попытка
  Соединение.Open();
Исключение
  Предупреждение(ОписаниеОшибки());
КонецПопытки;



Выдает ошибку.

http://rghost.ru/47025382/image.png

пробовал


Процедура ПодключениеНажатие(Элемент)
   
   Если ПустаяСтрока(ПутьКФайлуБД) Тогда
       Предупреждение("Не указано имя файла базы данных.");
       Возврат;
   КонецЕсли;
   
   ПутьКСерверу="";
   ПутьКБазе=ПутьКФайлуБД;
   ИмяПользователя = "SYSDBA";
   ПарольПользователя = "masterkey";
   ПараметрыПодключения = "auto_commit=True;ctype=win1251";
   
   стрПодключения = "data source=" + ПутьКСерверу + ":" + ПутьКБазе + ";" + ПараметрыПодключения + ";user ID="+ ИмяПользователя + ";password=" + ПарольПользователя;
   
   Соединение = Новый COMОбъект("ADODB.Connection");
   
   Соединение.Provider = "LCPI.IBProvider.3.Free";
   Соединение.ConnectionString = стрПодключения;
   
   Соединение.ConnectionTimeOut =60;
   Соединение.CommandTimeout = 60;
   Соединение.CursorLocation = 3;
   
   Попытка
       Соединение.Open();
       Сообщить("Соединение успешно уставнолено !!!");
   Исключение
       Предупреждение("Невозможно установить соединение - "+ОписаниеОшибки());
   КонецПопытки;
   
КонецПроцедуры



ошибка пишет что только коммерческая IBProvider версия может подключаться.
1 ZanderZ
 
26.06.13
11:56
и чего не понятно с ошибки ?
2 mazafakuh
 
26.06.13
12:01
где этот драйвер указать.  я качал Firebird_ODBC_2.0.1.152_x64.exe и устанавливал.
3 mazafakuh
 
26.06.13
12:54
апну и на обед
4 Jaap Vduul
 
26.06.13
13:02
(2)...x64
Видимо, код 1цэ запускается в x86 и не видит 64-битных драйверов.
5 mazafakuh
 
26.06.13
13:09
как сделать что бы было видно?
6 Chai Nic
 
26.06.13
13:11
А я не стал заморачиваться и сделал ежемесячную загрузку csv-файла из этой программы в ЗУП.
7 Jaap Vduul
 
26.06.13
13:11
(5)Поставить x86 драйвера.
8 mazafakuh
 
26.06.13
13:26
вариант)
сейчас попробую.
9 mazafakuh
 
26.06.13
15:21
та же ошибка.  ( ставил для 32 удалял для 64 и наоборот.  смысла нет.
10 mkfadmin
 
27.06.13
04:59
FirebirdSQL сервер у автора где запущен?
"ПутьКСерверу" должен быть типа "host/port:", а не просто ":"
и почему Client=gds32.dll, а не "родная" Client=fbclient.dll
11 НаборДанных
 
27.06.13
06:58
(0)Дарю
       Connection = Новый COMОбъект("ADODB.Connection");
       СтрокаПодключения ="Provider=MSDASQL.1;Password="+Пароль+";";    
       СтрокаПодключения = СтрокаПодключения +"Persist Security Info=True;User ID="+ИмяПользователя+";";
       СтрокаПодключения = СтрокаПодключения +"Driver=Firebird/InterBase(r) driver;";
       СтрокаПодключения = СтрокаПодключения +"Dbname="+ПутьКБД+";CHARSET=WIN1251;";
       
       Connection.ConnectionString = СтрокаПодключения;
       Connection.ConnectionTimeOut = 60;
       Connection.CommandTimeout = 60;
       Connection.CursorLocation = 3;    
       
       Connection.Open();
12 НаборДанных
 
27.06.13
07:00
+(11)ПутьКБД для локального ПК = localhost:МойСуперПутьКБД
13 mazafakuh
 
27.06.13
08:16
{Форма.Форма.Форма(26)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]unavailable database
14 mazafakuh
 
27.06.13
08:18
(10) на моем компе
15 mazafakuh
 
27.06.13
08:21
(12) как должен быть прописан путь?

после localhost нужно указывать порт? после порта Диск и имя файла?
16 mazafakuh
 
27.06.13
08:26
[ODBC Firebird Driver]Unable to complete network request to host "localhost\D".
Failed to locate host machine.
к коду (11) путь прописал так  ПутьКФайлуБД     = "localhost:D:\SCD17K.FDB";
ошибка выше.
17 Infsams654
 
27.06.13
08:28
Я делал так:

SQLConnection = Новый COMОбъект("ADODB.Connection");
   
   ConnectString = "driver={Firebird/Interbase(r) driver};" +
       "DbName=localhost:" + ФайлБД + ";" +
       "UID=SYSDBA;" +
       "PWD=masterkey;" +
       "CHARSET=WIN1251";
       
   SQLConnection.ConnectionString = ConnectString;
   SQLConnection.ConnectionTimeOut = 15;
   SQLConnection.CommandTimeout = 30 ;
18 mazafakuh
 
27.06.13
08:29
(17)  что дополнительно делал с компом?
19 mazafakuh
 
27.06.13
08:29
какие дрова ставил?
20 НаборДанных
 
27.06.13
08:31
Кроме как Firebird ODBC дривер ничего не нужно.
21 mazafakuh
 
27.06.13
08:31
(17) Невозможно установить соединение с Firebird:
{Форма.Форма.Форма(28)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [ODBC Firebird Driver]Unable to complete network request to host "localhost".
Failed to establish a connection.
22 НаборДанных
 
27.06.13
08:31
Не сходится вроде:
[ODBC Firebird Driver]Unable to complete network request to host "localhost\D".
Failed to locate host machine.
И "localhost:D:\SCD17K.FDB";
23 НаборДанных
 
27.06.13
08:32
Сервер ФДБ запущен ваще?
24 НаборДанных
 
27.06.13
08:32
(23)файер берда всмысле)
25 mazafakuh
 
27.06.13
08:32
(22) и так и так пробовал
какие дрова нужны для вин 7 х64
26 mazafakuh
 
27.06.13
08:33
(23) в трее есть желтый значок .
27 НаборДанных
 
27.06.13
08:33
(25)Мля, да только драйвер, который ты поставил уже, атфичаю.
28 НаборДанных
 
27.06.13
08:33
(26)У меня тоже есть желтый значок, но это связано с обнолениями винды, а у вас?
29 mazafakuh
 
27.06.13
08:34
(28)  я имел в виду значок ФБД
30 mazafakuh
 
27.06.13
08:34
ФБД
31 mazafakuh
 
27.06.13
08:34
блин.. ФДБ
32 НаборДанных
 
27.06.13
08:36
Unable to complete network request to host "localhost" Тут тебе кагбэ намекают, что не удалось обнаружить твой сервер на локалхосте.
В общих словах ты понял, пример кода у тебя есть + есть драйвер, больше ничего не нужно.
Задача: Найти IBEXPERT, скачать, пробовать подключиться из нее, когда получиться, ты будешь знать кунг-фу.
33 mazafakuh
 
27.06.13
08:37
(32)  низкий вам поклон. буду ковырять.
34 mazafakuh
 
27.06.13
09:25
все получилось.  поставил сервер БД который шел в комплекте с программой для проходной   и все заработало.)) спасибо все. (17)  использовал этот код
35 mazafakuh
 
01.07.13
09:48
(17) а если файл базы лежит  в папке  расшареной на компе в локалке строка  подключения будет какая*?
36 Infsams654
 
01.07.13
10:02
(35) "DbName=localhost:" + ФайлБД
в ФайлБД = <прописывается путь к файлу>