Я пытаюсь выполнить простой. sql файл, который сбрасывает мою базу данных. Он отлично работает, когда я запускаю его в sqlplus с @
, но возвращает ORA-00922: missing or invalid option
, когда я запускаю его с использованием php следующим образом:
$query = file_get_contents($path);
$stid = oci_parse($con, $query);
$r = oci_execute($stid);
Вот сам файл. sql, это довольно просто, и я просто не могу найти ничего плохого в командах:
ALTER SESSION SET NLS_LANGUAGE = AMERICAN;
ALTER SESSION SET NLS_TERRITORY = AMERICA;
DROP TABLE users;
DROP TABLE friends;
DROP TABLE replies;
DROP TABLE tweets;
DROP TABLE retweets;
DROP TABLE mentions;
DROP TABLE hashtags;
CREATE TABLE users (
id_str VARCHAR2(20) NOT NULL PRIMARY KEY,
name VARCHAR2(40) NOT NULL,
screen_name VARCHAR2(20) NOT NULL,
followers NUMBER(9) NOT NULL,
friends NUMBER(9) NOT NULL
);
CREATE TABLE friends (
id1_str VARCHAR2(20) NOT NULL,
id2_str VARCHAR2(20) NOT NULL,
CONSTRAINT friendship PRIMARY KEY (id1_str, id2_str)
);
CREATE TABLE replies (
id1_str VARCHAR2(20) NOT NULL,
id2_str VARCHAR2(20) NOT NULL,
CONSTRAINT reply PRIMARY KEY (id1_str, id2_str)
);
CREATE TABLE tweets (
id_str VARCHAR2(20) NOT NULL PRIMARY KEY,
user_id_str VARCHAR2(20) NOT NULL,
created DATE NOT NULL
);
CREATE TABLE retweets (
user_id_str VARCHAR2(20) NOT NULL,
tweet_id_str VARCHAR2(20) NOT NULL,
CONSTRAINT retweet PRIMARY KEY (user_id_str, tweet_id_str)
);
CREATE TABLE hashtags (
tweet_id_str VARCHAR2(20) NOT NULL,
text VARCHAR2(140) NOT NULL,
CONSTRAINT hashtag PRIMARY KEY (tweet_id_str, text)
);
CREATE TABLE mentions (
user_id_str VARCHAR2(20) NOT NULL,
tweet_id_str VARCHAR2(20) NOT NULL,
CONSTRAINT mention PRIMARY KEY (user_id_str, tweet_id_str)
);
COMMIT;
Я знаю, что это, вероятно, глупо, но я часами искал решение безрезультатно и был бы признателен за любые советы (даже другой способ, чем загрузка этого файла).