Попытка:
INSERT INTO table1 ( column1 )
SELECT col1
FROM table2
Это - стандартный ANSI SQL и должно работать над любым DBMS
, на который Он определенно работает:
Когда дело доходит до Oracle, мне нравится использовать Oracle Instant Client :
Проверьте Каков минимальный размер клиентского пространства, необходимый для подключения C # к базе данных Oracle? для получения дополнительной информации. Чтобы узнать, как настроить проект Visual Studio, который будет работать как на машинах x86, так и на машинах x64, ознакомьтесь с моим сообщением в блоге Oracle Instant Client в Visual Studio .
I have found many times that the error "requires Oracle client software version 8.1.7 or greater" is a notoriously misleading error. From distant memory I seem to remember that this usually indicates a file IO permissions problem. I think it may be that the ASP.NET worker process (or whichever identity an application is running under) requires some sort of read or write permission to a folder in the oracle client folder hierarchy...
Как насчет деревьев выражений ? Они составляют основу LINQ и позволяют отложить выполнение:
Взято из блога Дэвида Хайдена :
В C # 3.0 вы можете определить делегат следующим образом, используя лямбда-выражение:
Func<int,int> f = x => x + 1;
This делегат компилируется в исполняемый код в вашем приложении и может вызываться как таковой:
var three = f(2); // 2 + 1
Код работает, как и следовало ожидать. Здесь нет ничего особенного.
Деревья выражений
Когда вы определяете делегат как дерево выражений с помощью System.Query.Expression:
Expression<Func<int,int>> expression = x => x + 1;
Делегат больше не компилируется в исполняемый код, а компилируется как данные, которые можно преобразовать и скомпилирован в исходный делегат.
Чтобы действительно использовать делегат, представленный в виде дерева выражений в вашем приложении, вам нужно будет скомпилировать и вызвать его в своем приложении:
Это может быть причиной нескольких домов оракулов в окружающей среде. Удалите из своей системы сборки старую версию oracle home. попробуйте снова создать сборку с единственным домом. Есть некоторые проблемы с версией 9i ODP.NET и подключением 10G / 11G
У меня возникла проблема, которая может быть связана с тем, что вы видите.
Изначально на моем компьютере был установлен только клиент Oracle 10g, а номер версии компонента .Net Oracle.DataAccess был 10.2.0.100 - это было для среды выполнения .Net v1.0.3705
Я установил ODP.Net и Версия компонента Oracle.DataAccess теперь v2.102.2.20 и работает в среде выполнения .Net v2.0.50727 - я не могу найти ссылку на то, почему Oracle сделал это - это было как-то связано с приведением номеров версий в соответствие с версией среды выполнения
Мне потребовался день, чтобы разобраться с этим. Мы еще не используем клиент 11g, и я давно не использовал клиент 8i, поэтому я не знаю, какие будут номера версий для этих клиентов, но я бы проверил это на вашем месте.
Короче говоря,