{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Альберт Эйнштейнов: заметки с тегом oracle",
    "_rss_description": "Альберт Эйнштейнов",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "http:\/\/depperte.ru\/blog\/tags\/oracle\/",
    "feed_url": "http:\/\/depperte.ru\/blog\/tags\/oracle\/json\/",
    "icon": "http:\/\/depperte.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1706431601",
    "authors": [
        {
            "name": "А. Эйнштейнов",
            "url": "http:\/\/depperte.ru\/blog\/",
            "avatar": "http:\/\/depperte.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1706431601"
        }
    ],
    "items": [
        {
            "id": "4",
            "url": "http:\/\/depperte.ru\/blog\/all\/poisk-po-vsem-ishodnym-kodam-v-pl-sql\/",
            "title": "Поиск по всем исходным кодам в PL\/SQL",
            "content_html": "<p>Иногда необходимо проверить, а не используется ли та или иная процедура в какой-нибудь другой процедуре. Или, допустим, необходимо найти определенную подстроку сразу во всем объеме пользовательского кода на PL\/SQL.<\/p>\n<p>Для это есть представление <i>all_source<\/i>:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">SELECT * FROM all_source WHERE LOWER ( text ) LIKE  &#039;%&#039; || LOWER ( &#039;p_get_nearest_objects&#039; ) || &#039;%&#039;<\/code><\/pre>",
            "date_published": "2016-04-14T13:26:55+05:00",
            "date_modified": "2016-06-08T08:40:33+05:00",
            "tags": [
                "it",
                "oracle"
            ],
            "_date_published_rfc2822": "Thu, 14 Apr 2016 13:26:55 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "4",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "10",
            "url": "http:\/\/depperte.ru\/blog\/all\/izmenenie-dannyh-v-gride-gridview-v-sharepoint-v-svyazke-s-bd-or\/",
            "title": "Изменение данных в гриде (GridView) в SharePoint в связке с БД Oracle",
            "content_html": "<p>Есть SharePoint 2007, есть БД на Oracle.<\/p>\n<p>Выводим данные на странице с помощью asp:GridView, к базе данных подключаемся через asp:SqlDataSource.<\/p>\n<p>SqlDataSource:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;asp:SqlDataSource\n    runat=&quot;server&quot;\n    id=&quot;SqlDataSource1&quot;\n    ProviderName=&quot;System.Data.OracleClient&quot;\n    ConnectionString=&quot;Data Source=IP:PORT\/SID;Persist Security Info=True;User ID=sharepoint;Password=sharepoint;Unicode=True&quot;\n    ConflictDetection=&quot;OverwriteChanges&quot;\n    SelectCommand=&quot;SELECT id, a, b, c FROM abc&quot;\n    UpdateCommand=&quot;UPDATE abc SET a = :A, b = :B WHERE id = :ID&quot;&gt;\n            \n    &lt;UpdateParameters&gt;\n        &lt;asp:Parameter Name=&quot;ID&quot; Type=&quot;Int32&quot; \/&gt;\n        &lt;asp:Parameter Name=&quot;A&quot; Type=&quot;DateTime&quot; \/&gt;\n        &lt;asp:Parameter Name=&quot;B&quot; Type=&quot;DateTime&quot; \/&gt;\n        &lt;asp:Parameter Name=&quot;C&quot; Type=&quot;String&quot; \/&gt;\n    &lt;\/UpdateParameters&gt;\n            \n&lt;\/asp:SqlDataSource&gt;<\/code><\/pre><p>GridView:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;asp:GridView runat=&quot;server&quot; id=&quot;GridView1&quot; DataSourceID=&quot;SqlDataSource1&quot; AutoGenerateColumns=&quot;false&quot; DataKeyNames=&quot;ID&quot; AutoGenerateEditButton=&quot;True&quot;&gt;\n    &lt;Columns&gt;\n        &lt;asp:commandfield ShowDeleteButton=&quot;True&quot; ShowEditButton=&quot;True&quot; Visible=&quot;false&quot;&gt;&lt;\/asp:commandfield&gt;\n        &lt;asp:boundfield DataField=&quot;ID&quot; HeaderText=&quot;ID&quot; ReadOnly=&quot;True&quot; SortExpression=&quot;ID&quot; Visible=&quot;False&quot;&gt;&lt;\/asp:boundfield&gt;\n        &lt;asp:boundfield DataField=&quot;A&quot; DataFormatString=&quot;{0:d}&quot; HeaderText=&quot;ACaption&quot; SortExpression=&quot;A&quot;&gt;&lt;\/asp:boundfield&gt;\n        &lt;asp:boundfield DataField=&quot;B&quot; DataFormatString=&quot;{0:d}&quot; HeaderText=&quot;BCaption&quot; SortExpression=&quot;B&quot;&gt;&lt;\/asp:boundfield&gt;\n        &lt;asp:boundfield DataField=&quot;C&quot; HeaderText=&quot;CCaption&quot; SortExpression=&quot;C&quot;&gt;&lt;\/asp:boundfield&gt;\n    &lt;\/Columns&gt;\n\n    &lt;HeaderStyle ForeColor=&quot;#FFFFFF&quot; BackColor=&quot;#666666&quot; BorderColor=&quot;#666666&quot; \/&gt;\n    &lt;RowStyle CssClass=&quot;light&quot;\/&gt;\n    &lt;AlternatingRowStyle CssClass=&quot;dark&quot;\/&gt;    \n&lt;\/asp:GridView&gt;<\/code><\/pre><p>Все работает прекрасно, пока не собираемся изменять данные в этом же гриде. При попытке изменить данные выдается ошибка ORA-01036: illegal variable name\/number. Всякие вразумительные попытки ее побороть ни к чему не приводят.<\/p>\n<p>Оказывается, чтобы работал update необходимо, чтобы в тексте UpdateCommand участвовали все те же столбцы, что и в SelectCommand. Если будет не хватать хотя бы одного столбца — запрос не проходит. Соответственно, изменения претерпевает только текст UpdateCommand в SqlDataSource. И все начинает работать.<\/p>\n<p>Было так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">UPDATE abc SET a = :A, b = :B WHERE id = :ID<\/code><\/pre><p>Нужно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">UPDATE abc SET a = :A, b = :B, c = :C WHERE id = :ID<\/code><\/pre><p>Как изменить такое поведение — непонятно.<\/p>\n",
            "date_published": "2014-10-02T09:52:35+05:00",
            "date_modified": "2016-06-08T08:42:43+05:00",
            "tags": [
                "it",
                "oracle",
                "sharepoint"
            ],
            "_date_published_rfc2822": "Thu, 02 Oct 2014 09:52:35 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "10",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "11",
            "url": "http:\/\/depperte.ru\/blog\/all\/smena-puti-k-java-v-oracle-sql-developer-4-0\/",
            "title": "Смена пути к Java в Oracle SQL Developer 4.0",
            "content_html": "<p>Последние версии Oracle SQL Developer (4.0 и далее) требуют минимум JDK 7. Чтобы явно указать SQL Developer где находится JDK необходимо указать этот путь в конфигурационном файле product.conf (параметр SetJavaHome):<\/p>\n<p>Для Windows XP: «C:\\Documents and Settings\\Application Data\\sqldeveloper\\1.0.0.0.0»<br \/>\nДля Vista и выше: «C:\\Users\\AppData\\Roaming\\sqldeveloper\\1.0.0.0.0\\»<\/p>\n",
            "date_published": "2014-09-19T07:36:36+05:00",
            "date_modified": "2016-06-08T08:43:25+05:00",
            "tags": [
                "it",
                "oracle"
            ],
            "_date_published_rfc2822": "Fri, 19 Sep 2014 07:36:36 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "11",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "13",
            "url": "http:\/\/depperte.ru\/blog\/all\/pervy-i-posledniy-den-mesyaca-v-pl-sql\/",
            "title": "Первый и последний день месяца в PL\/SQL",
            "content_html": "<p>Недавно наткнулся на необходимость написать запрос на PL\/SQL, который выводил бы все записи за текущий месяц, причем захватываю пару дней до начала месяца и пару дней после его окончания. Например, с 29.04 по 02.06.<\/p>\n<p>Оказалось, что в PL\/SQL есть функция LAST_DAY ( DATE ). Она выдает последний день месяца переданной ей даты. Но почему-то нет функции FIRST_DAY ( DATE ) — получения первого дня месяца. Ее роль выполняет вот такое выражение:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">TO_DATE ( TRUNC ( DATE, &#039;MM&#039; ), &#039;DD.MM.YYYY&#039; )<\/code><\/pre><p>Казалось бы, почему не сделать функцию FIRST_DAY?<\/p>\n<p>В итоге:<\/p>\n<ul>\n<li>первый день месяца: TO_DATE ( TRUNC ( DATE, ’MM’ ), ’DD.MM.YYYY’ );<\/li>\n<li>последний день месяца: LAST_DAY ( DATE ).<\/li>\n<\/ul>\n<p>А условие запроса с двумя днями соответственно выглядит вот так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">...AND a.request_date BETWEEN ( TO_DATE ( TRUNC ( SYSDATE, &#039;MM&#039; ), &#039;DD.MM.YYYY&#039; ) - 2 ) AND ( LAST_DAY ( SYSDATE ) + 2 )<\/code><\/pre>",
            "date_published": "2014-05-13T15:47:09+05:00",
            "date_modified": "2016-06-08T08:44:59+05:00",
            "tags": [
                "it",
                "oracle"
            ],
            "_date_published_rfc2822": "Tue, 13 May 2014 15:47:09 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "13",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "16",
            "url": "http:\/\/depperte.ru\/blog\/all\/izmenenie-sposoba-hraneniya-blob-polya-v-uzhe-suschestvuyuschey\/",
            "title": "Изменение способа хранения BLOB-поля в уже существующей таблице Oracle",
            "content_html": "<p>Долго не мог найти способ изменить способ организации BLOB-поля на формат SecureFile в Oracle. Обходился всегда копированием таблицы.<\/p>\n<p>Теперь вот нашел. Заодно задаем дополнительные опции хранения, такие как дедупликация, сжатие и кэширование.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">ALTER TABLE ss_file_t3d MOVE LOB ( preview_summary ) STORE AS SECUREFILE ( TABLESPACE seis_blob DEDUPLICATE COMPRESS CACHE );<\/code><\/pre><p>Красота!<\/p>\n",
            "date_published": "2014-02-02T22:30:38+05:00",
            "date_modified": "2016-06-08T08:46:49+05:00",
            "tags": [
                "it",
                "oracle"
            ],
            "_date_published_rfc2822": "Sun, 02 Feb 2014 22:30:38 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "16",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}