Страница 1 из 2
Кто есть крутой в Оракл/Перле, помогите школяру!
Добавлено: 29 окт 2003, 14:23
Seaman
Достала меня эта сладкая парочка!
Все было хорошо, все работало. Потом кто-то что-то сотворил. Теперь вместо того, что надо, выдается Software Error: ' DBI connect (SID, user, ...) failed ...'. Ну вот никак не хочет соединиться с базой!
Из SQL Plus соединение работает ото всюду.

Переустановил Перл, проверил установки IIS, проверил разрешения в секурити, перезагрузил DBI и DBD пакеты, посадил Oracle.dll на голову REGSVR32.exe, несколько раз перепроверил сам скрипт. Все как было при жизни (файла)!
Listener и TNSnames в порядке!
Что и где еще проверить?
Дополнительная информация для тех, кто захочет помочь:
Вся эта котовасия установлена на Windows 2000 Server;
Perl 5.6.1 - 6.3.5;
Oracle 9.2.0.1.0;
Кстати, где-то в то же время я установил апгрейд для Jet с микромяга.
Не может ли он там где-нибудь вредить? На всякий пожарный, можно ли его безболезненно заменить старым испытанным?

Добавлено: 29 окт 2003, 14:29
папа Карло
попробуй старую установку сначала. У МСа были какие-то не стабильные дрова в последнее время. какие именно я не помню.
Добавлено: 29 окт 2003, 14:35
Seaman
А как ее можно безболезненно убрать? В Control Panel -> Add-Remove Programs я ее не вижу что-то.
Добавлено: 29 окт 2003, 14:36
папа Карло
выясни что у тебя за версия была и попробуй ее качнуть с МСа. Шанс что это проблема очень маленький, но все же есть.... ну гугле поискал по ключевым словам что ставил, что стало?

Добавлено: 29 окт 2003, 14:51
Seaman
Нашел, анинсталлил. Сейчас перезагружаю сервер. Там посмотрим.
Добавлено: 29 окт 2003, 15:03
Seaman
Не помогло! Так и не соединяет. Где-то в другом месте собачку-то закопали.

Добавлено: 29 окт 2003, 15:09
папа Карло
советую пойти на гугл и в майллист DBI.... Я тут пасс..... я в перле не через DBI хожу
Добавлено: 29 окт 2003, 16:18
Seaman
А как еще можно входить? Научи, может как раз и пригодится!

Добавлено: 29 окт 2003, 16:25
папа Карло
Мастадайный OLE DB.
Вот тут пример есть.... Но ДБИ по делу быстрее должен быть.... Поэтому пользовать ОЛЕ наверное надо только для разовых задач.
http://www.geocities.com/SiliconValley/ ... abase.html
Добавлено: 29 окт 2003, 16:35
Sea-urchin
Я не спец в Оракл/Перл, но работал с MSSQL/IIS/ASP.
Может мои соображения будут полезны.
Не порылась ли собачка в IIS?
Осмелюсь предположить, что могли быть изменены настройки authentication control на веб-приложение или, если включён анонимный доступ, что-то не так с учётной записью, от которой действует аноним.
Добавлено: 29 окт 2003, 16:53
Lepsik
текст бы что ли привел.
#---------------
use DBI;
use DBD::Oracle;
ENV{ORACLE_HOME}=...
my $dbh=DBI->connect("dbi:Oracle:host=localhost;sid=MY;port=1521", 'scott','tiger',{PrintError=>0,AutoCommit=>0,RaiseError=>1}) or die "Cannot connect to Oracle:$DBI::errstr\n";
#---------------
Добавлено: 29 окт 2003, 16:54
Lepsik
кстате, неплохо поставить PrintError=>1
таки ошибку посмотреть
Re: Кто есть крутой в Оракл/Перле, помогите школяру!
Добавлено: 30 окт 2003, 09:36
Vovchik
Seaman писал(а):
Из SQL Plus соединение работает ото всюду.

Значит сия фраза обычно означает одно из двух:
1.В компьютере есть несколько разных файлов tnsnames.ora and/or sqlnet.ora. Правильные файлы в {ORACLE HOME}\Ora81\network\admin
2. В системном пути нету {ORACLE HOME}\Ora81\bin ну или где оно там должно быть.
А ваще полезно почитать сообщение об ошибке .
Добавлено: 30 окт 2003, 12:47
Seaman
Ошибку пишет только эту:
"Software error:
DBI connect('test','scott',...) failed: at c:\apache\apache\cgi-bin\LYRIS_~1.CGI line 61"
В скрипте я пишу:
"#!C:/Perl/bin/perl -w
use DBI;
use DBD::Oracle;
use strict;
my $db_uname = 'scott';
my $db_pwd = 'tiger';
my $db_sid = 'dbi:Oracle:test';
#$db_sid = 'dbi:Oracle:protocol=TCP;host=VENUS;port=1521;sid=test';
$dbh = DBI->connect($db_sid, $db_uname, $db_pwd, {RaiseError => 1, AutoCommit => 0, PrintError => 1}) or die "can't connect to database: $!";"
Третий день ищу в Гугле - ничего и близко нет. Как я писал в начале, сначала все было хорошо и все работало, пока кто-то не полазил где-то с настройками. Т.е. скрипт должен быть в порядке - его точно не трогали. Ошибка та же самая, что из IIS, что сегодня установили Apache.
Значитца так.
Добавлено: 30 окт 2003, 12:59
Vovchik
Когда ты гришь что работает из СиКуел плюс. Что ты вбиваешь там? Значит озер Скотт, пассворд - Тигр а что ты пишешь в Host String? Сообщи с точностью до запятой.