Feb. 10th, 2012

metaclass: (Default)
Я вот думаю: следует ли избавляться от сабжевых процедур, заменяя их на закат солнца вручную в виде кода на обычных языках программирования?
У меня 99% разнообразных отчетов реализовано на Firebird или в виде sql-запросов на пару страниц или в виде selectable хранимых процедур, тоже на пару страниц.
Все бы это хорошо, но деплоймент этого дела огорчает, язык хранимых процедур - более чем полная убогость, т.е. уровня типа "турбо-паскаль интегрированный с sql".
И главное ж, хрен чем заменишь - все остальное закат солнца вручную. В обычном случае - адовы ORM типа Entity Framework и LINQ поверх них. В условно нормальном - руби и ActiveRecord, с метапрограммированием, но у него адаптер к Firebird, по моему, несуществующий. Возможно, питон еще, у него тоже метапрограммирование имеется и kinterbasedb вроде живой.
Т.е. если по хорошему - то нужно что-то вроде LINQ, но чтобы схему БД видел сам, без импорта схемы в 100500 файлов.

PS: не успел дописать: Одна из нездоровых идей - написать транслятор из гуманного DSL с функциональщиной и школьницами с Ph.D. in CS в язык хранимых процедур.
metaclass: (Default)
Открыл гугл, найти что-то по строке "С# web server". Гугл у меня настроен на английский интерфейс, английский язык при поиске и прочая. А оно мне показыват всю первую страницу руССких ссылок. Побегал по настройкам - хрен там. Все думаю, приплыли, решили нас окончательно в дикарей превратить, лишив информации.
Оказывается, "С" была русская.

DbLINQ

Feb. 10th, 2012 09:29 pm
metaclass: (Default)
Есть такой полузаброшенный проектик по реализации LINQ-To-SQL для разных СУБД - DbLinq.
Так вот, для Firebird он работает весьма условно - простейшие сгенерированные из LINQ запросы не работают. Например:
Read more... )
Попробую еще родной Firebird провайдер запустить, что ли.

PS: .NET 3.5 и 2008 студия, если чо:
завел кодогенератор EntityFramework с FirebirdSql.Data.FirebirdClient:
EdmGen /mode:FullGeneration /project:somename /provider:FirebirdSql.Data.FirebirdClient /connectionstring:"database=somedb;User=SOMEUSER;Password=somepass;Role=;Dialect=3;Server=fb25;Port=3050;Charset=WIN1251"
Из студии это запускать - ну его фхер, тем более что DDEX тоже не работает нихрена - при любом изменении поля в окне подключения к БД оное окно само собой закрывается :)
EdmGen упорно не видел провайдера из GAC. Пришлось руками проставить его в EdmGen.exe.config DbProviderFactories и положить рядом.

Полученное файло somedb.ObjectLayer.cs зависит от неймспейса System.Data.Objects, живущего в System.Data.Entity и от System.Runtime.Serialization. Но даже собирается. Теперь ему еще бы EntityConnection создать откуда-нибудь.

Мда, строки коннекта радуют: http://blogs.teamb.com/craigstuntz/2010/08/13/38628/

PPS: оно таки заработало. Но чертово вуду, хуже инсталляции жабы и руби вместе взятых.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 8th, 2025 03:08 pm
Powered by Dreamwidth Studios