Это сработало для меня в Windows XP за корпоративным брандмауэром.
Мне не нужно было устанавливать какой-либо локальный прокси или любое другое программное обеспечение, кроме git v1.771 из http://code.google.com/p/msysgit/downloads/list?can=3
$ git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:mygithubpwd@github.com/repoUser/repoName.git
$ git push origin master
proxyuser = прокси-пользователь, которого я назначил нашим ИТ-отделом, в моем случае это тот же пользователь Windows, которого я использую для входа на свой ПК, пользователь Active Directory
proxypwd = пароль моего прокси-пользователя
proxy.server.com:8080 = имя и порт прокси, я получил его из панели управления , Свойства обозревателя, Соединения, Кнопка «Настройки локальной сети», Кнопка «Дополнительно» в разделе «Прокси-сервер», используйте имя сервера и порт в первой строке (http).
mygithubuser = пользователь, которого я использую для входа на github.com
mygithubpwd = пароль для моего пользователя github.com
repoUser = пользователь-владелец репо
repoName = имя репо
Если вы запускаете этот сценарий из sqlplus (что, похоже, так), вы хотите использовать команду DEFINE, которая позволяет вам создавать переменные подстановки sqlplus, которые представляют собой простую подстановку строк, например:
define tableNm = 'customers2008'
select * from &tableNm;
См. Использование Sql * Plus для получения дополнительной информации о том, как они используются. Вы можете передавать значения в ваш сценарий из командной строки, используя предопределенные переменные позиционного подстановки, например:
define tableNm = &1
select * from &tableNm;
... а затем вызывать sqlplus следующим образом:
sqlplus user/pwd@server @myscript.sql customers2008
Если вы не передаете значение в командной строке , вызывающему скрипту будет предложено ввести значение.
См. ответ Дейва Коста ниже, чтобы узнать о различиях между переменными связывания и подстановки.
Чтобы попытаться добавить некоторые пояснения:
Метод, который вы пытались использовать, называется переменной связывания . В Oracle SQL переменная связывания обозначается двоеточием, за которым следует идентификатор. Назначение переменной связывания состоит в том, что ее значение не нужно знать при синтаксическом анализе оператора SQL; оператор может быть проанализирован один раз, а затем выполнен несколько раз с разными значениями, привязанными к переменной.
Для того, чтобы оператор SQL был проанализирован, имена таблиц и столбцов должны быть известны. Таким образом, имя таблицы не может быть представлено переменной связывания, потому что значение не будет известно во время синтаксического анализа.
Если вы просто выполняете SQL и встраиваете PL / SQl через SQLPlus, то подстановочные переменные - простой способ займитесь этой проблемой, как объяснил Стив.
Переменные подстановки работают:
SQL> select * from &table_name;
Enter value for table_name: dual
old 1: select * from &table_name
new 1: select * from dual
D
-
X
You have to do something like this:
EXECUTE IMMEDIATE 'select * from' || tableNm;
This is because Oracle does not allow bind variables for table (or any other object names).
There are significant security implications with the EXECUTE IMMEDIATE approach: when the tableNm value is user-supplied, you are wide open to SQL injection attacks.