2015-09-02 6 views
-1

Я новичок в Perl Программирование и подключение к базе данных. Может кто-нибудь, пожалуйста, сообщите мне шаг за шагом, чтобы написать Perl Script для подключения к Oracle Database.Perl скрипт для подключения базы данных оракула

Мой Perl Verion является:

Это Perl 5, версия 22, подрывная 0 (v5.22.0), построенный для MSWin32-x64-многопоточной
Copyright 1987-2015, Ларри Уолл
Perl может быть скопирован только на условиях либо Художественной лицензии, либо GNU General Public License, которая может быть найдена в исходном наборе Perl 5.

Я попытался ниже:

my $db = DBI->connect("dbi:Oracle:Local","SYSTEM","SYSTEM") or die print ("could not connect! $DBI::errstr \n"); 

Поскольку я не знаю, что это «DBI: Oracle: Local» Я мог бы не смог подключиться к базе данных.

Не могли бы вы сообщить мне, что такое dbi, Oracle, local. если это имя хоста и имя оракула, как я могу найти то же самое на своем компьютере.

Нужно ли устанавливать переменную ENV в Perl? Если да, то где и что мне нужно установить?

+0

Извините, на самом деле это слишком широкий вопрос, чтобы ответить осмысленно. Вы считали, что нанимаете кого-то, кто не новичок в программировании Perl и базы данных? – Sobrique

+0

'print' не требуется, когда вы используете' die'. 'die' сам отображает сообщение. – serenesat

ответ

1

dbi:Oracle позволяет DBI знать, какой драйвер использовать. Если вы подключаетесь к базе данных Oracle, вы никогда не измените их.

Local - либо фактическое имя базы данных в локальной системе, либо имя, указанное в TNSNAMES.ORA. Замените имя локальной базы данных, к которой вы хотите подключиться.

Следующие два параметра - это имя пользователя и пароль.

Если вы подключаетесь удаленно или должны сделать что-то более сложное, обратитесь к the docs или одному из многочисленных доступных guides.

+0

Большое вам спасибо за ваш комментарий. Здесь я расскажу о своем файле TNSNAMES.ORA.Можете ли вы сказать мне имя базы данных, SID, имя хоста, Х = (DESCRIPTION = (ADDRESS = (ПРОТОКОЛ = TCP) (HOST = локальная (PORT = 1521)) (CONNECT_DATA = (SERVER = ПОСВЯЩЕННАЯ) (SERVICE_NAME = ХЕ) ) ) EXTPROC_CONNECTION_DATA = (ОПИСАНИЕ = (ADDRESS_LIST = (АДРЕС = (ПРОТОКОЛ = IPC) (КЛЮЧ = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (ПРЕЗЕНТАЦИЯ = RO) ) ) – dambigan

1
my $db = DBI->connect("dbi:Oracle:Local","SYSTEM","SYSTEM"); 

"DBI" является строкой,
"Oracle" является тип драйвера,
"локальный" это имя базы данных,
First "SYSTEM" это имя пользователя и второй один пароль.

use DBI; 
my $dbh = DBI->connect("dbi:Oracle:databaseName", 'username', 'passwd') or die($DBI::errstr, "\n"); 

Сначала прочитайте основную концепцию Simple Database access using Perl DBI and SQL.

+0

Большое вам спасибо за ваш комментарий. Но можете ли вы рассказать мне, как я могу найти имя моего драйвера и имя базы данных. – dambigan