reverzní inženýrství pro vývoj databází v aplikaci visio se serverem sql server 2008
<p>potřebuji reverzní inženýrství microsoft sql server 2008 za účelem vytvoření diagramu modelu microsoft visio 2007 database. takže jsem si vybral &quot;reverse engineer&quot; z menu databáze pro připojení k db.</p><p>ovladač microsoft sql server visio nakonfigurován tak, že používá sql server nativní klient 10.0 jako ovladač odbc. poté jsem vytvořil user dsn, který se připojuje k mé db. tento dsn funguje (alespoň úspěšný test je úspěšný). po klepnutí na tlačítko další v průvodci reverzním inženýrem visio laskavě požádá o svá pověření, která řádně poskytnu, ale po klepnutí na tlačítko ok se zobrazí následující zpráva:</p><blockquote> <p>aktuálně vybraný ovladač visio není kompatibilní se zdrojem dat.</p> </blockquote><p>pokusil jsem se použít starý ovladač sql server odbc také tím, že samozřejmě znovu nakonfigurujete ovladač visio. to také nefunguje. </p>
<p>od <a href="http://forums.microsoft.com/technet/showpost.aspx?postid=3825120&amp;siteid=17">podpora společnosti microsoft</a> přes fóra společnosti microsoft:</p><blockquote> <p>další šetření zjistí, že se jedná o očekávané chování aplikace visio 2007. pokud aplikace visio otevře připojení pomocí ovladače serveru visio sql server zkontroluje verzi serveru a protože sql server 2008 dodáno po aplikaci visio 2007 nerozpozná sql server 2008 jako podporovanou verzi a zavře spojení. počkejte na budoucí verzi aplikace visio na loď, která rozpoznává sql server 2008 nebo použijte ovladač visio generic odbc, který může úspěšně otevřít připojení k serveru sql server 2008. třetí možností je použít kopii serveru sql server 2005 pro počáteční reverzní inženýrství. tým visio si je vědom tohoto problému.</p> </blockquote>
V současné době jsou v kurzu SQL dartabáze. Takže pokud se chceš uplatnit, tak MS-SQL, Interbase, ORACLE, popř. nějaké ty internetové jako např. MySQL, PostgreeSQL apod. Každá databáze má vlastní programovací jazyk pro uložené procedury, vlastní datové typy apod.Program, ve kterém budeš vyvíjet soft je opět něco jiného. Ten většinou je univerzální a umí přistupovat k jakékoliv databázi.V současné době, pokud bych začínal, tak bych se orientoval směrem .NET a C#. Hele, já jsem ještě uvízl v tomto táboře taky. Aplikace třetích stran musíme podporovat je konečně chystá 2K5, takže jsme skoro ze dřeva. Ale mám pocit, vaše bolest 8 ^ D


To znamená, že ze všeho, co jsem slyšel od našeho DBA, klíčové je, aby převést databázi do formátu 8.0 první, a pak jít do roku 2005. Věřím, že používá vestavěný migrace / upgrade nástroje pro tento. Existuje několik velkých kroků mezi 6,5 a 8,0, které jsou lépe zde vyřešeny než jít od 6,5 do roku 2005 přímo.


Váš největší bolest, pokud jste nevěděli, už je, že DTS je pryč ve prospěch SSIS. Tam je typ shell modul, který bude provozovat stávající DTS balíčky, ale budete chtít ručně znovu je všechny SSIS. Snadné to bude záviset na složitosti samotných balíčků, ale udělal jsem pár v práci tak daleko a že jsem byl docela hladce. Často toto je provedeno pomocí [„Data Driven odběry“](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , ale tato funkce je k dispozici pouze v některých SQL vydáních: Enterprise a Business Intelligence, ale ne v normě.


Takže existuje celá řada kreativních řešení. Ale nemám rád žádné z nich, a všechny vyžadují spravedlivý trochu práce mimo SSRS.


Mezi řešení, které jsem viděl, patří: Vytvoření odběr a potom zakázání nebo povolení SQL úlohu, kterou odešle předplatné (identifikovatelné podle GUID).


Vytvořte si .NET obálky exe zvládnout odeslání e-mailu. Je možné spustit dotaz nejprve zjistit, kolik se vrací řádky, a pak v případě potřeby generovat zprávu a zahrnout do e-mailu. Ovladače jsi přeinstaloval ručně? Pokud ano, je to OK. Pokud jsi k vyhledání ovladačů použil nějaký program, je to špatně.Diagnostiku DirectX provedeš pomocí programu DXDIAG (Win+R -> dxdiag -> <ENTER>). Ignoruje všechny používá související non-SQL z LINQ a právě s ohledem na LINQ-to-SQL.


LINQ dotazy jsou objekty, které si zachovávají dotazu *definici* a ekvivalentní SQL je instanci pouze v okamžiku dotazu je vlastně opakována. Který umožňuje komponenty musí být řádně odděleny a umožňují **zpracování ve stylu potrubí** , kde jsou dotazy vrácené spodních vrstev (např. Podle údajů) a transformovány vyššími složkami v zásobníku. Dotaz může přizpůsobit nové filtry, se připojí a další ‚artefakty‘ z každé složky ve zpracovatelském potrubí, dokud nedosáhne konečného formulář, který je případně opakována. Tato manipulace je prakticky nemožné pomocí rovné textu SQL.


Další výhodou je, že LINQ jeho syntaxe je snazší pochopit vývojářům non-databáze. SQL syntax odbornost je překvapivě těžké najít aktivum. Několik vývojáři jsou ochotni trávit čas učení jemnější body SQL mimo `SELECT * FROM ... WHERE ...`. Syntaxe LINQ je blíže ke každodenním prostředí .NET a využívá stávající dovednost nastavit v této vrstvě (např. Výrazy lambda) v protikladu k vynucení vývojář naučit správné SQL pro cílené zadní konce (T-SQL, PL-SQL atd). Vzhledem k tomu, že výraz LINQ vyjadřuje požadovaný výsledek do značné míry přímo do relační algebře, poskytovatelé mají mnohem snazší práci do generuje odpovídající SQL (nebo dokonce vytvářet přímou plán provádění!). Srovnejte to s nemožný úkol ‚generické‘ databázové řidiči museli čelit vzácně s textem SQL. Pamatovat ODBC syntaxe escape, někdo? Proč nenapíšeš na podporu Veeamu? Používáš free nebo placenou verzi? Jestli se nepletu tak ve free to co chceš nejde. Možná zkus toto [https://forums.veeam.com/microsoft-hyper-v-f25/rpc...](https://forums.veeam.com/microsoft-hyper-v-f25/rpc-connection-fails-with-local-administrator-account-t58686.html) Preskumaj rezim kompatibility specialne pre zdielanie.Od WVista pouziva zdielanie silnejsie sifrovanie a Samba ho neovlada pokial nemas uplne najnovsiu verziu Samby napriklad 4.x. SMO se systémem T-SQL pod přikrývkou. Dalo by se prototyp SMO a pak sledovat v Profiler získat T-SQL.


Je to pravděpodobně k narušení EULA, ale mohli jste redistrib SMO sestav bok po boku s aplikací, bez nutnosti instalace v tomto případě. Nemyslím si, že jejich instalační program zasáhne registru. Docela snadno rozbít otevřený na SQLServerManagementObjects.msi a zjistit. LINQ pro SQL podporuje pouze 1 až 1 mapování databázových tabulek, pohledy, sprocs a funkce jsou k dispozici v Microsoft SQL Server. Je to skvělý API použít k rychlému přístupu k datům konstrukci poměrně dobře navržených databází SQL Server. LINQ2SQL byla poprvé vydána s C # 3.0 a .NET Framework 3.5.


LINQ k entity (ADO.Net Entity Framework) je ORM (Object relační Mapper) API, které umožňuje širokou definici modelů objekt domény a jejich vztah k mnoha různým poskytovatelům ADO.Net dat. Jako takový, můžete kombinovat několik různých databázových, aplikačních serverů nebo protokoly navrhnout agregovaný mash-up objektů, které jsou konstruovány z různých tabulek, zdroje, služby atd Framework ADO.Net byl propuštěn s .NET Framework 3.5 SP1.


To je dobrý úvodní článek na webu MSDN:
 [Představujeme LINQ pro relační data](http://msdn.microsoft.com/en-us/library/cc161164.aspx) protože používáte WinForms aplikaci, pokud je to v NET 2.0 je to vlastně systém uživatelských nastavení (tzv Properties), který je navržen pro tento účel. [Tento článek na webu MSDN](http://msdn.microsoft.com/en-us/library/aa730869(VS.80).aspx) má docela dobrý úvod do této


Pokud jste stále obavy o výkonu pak se podívat na [SQL Compact Edition](http://www.microsoft.com/sql/editions/compact/default.mspx) , který je podobný SQLite, ale je dar společnosti Microsoft, který jsem našel hraje velmi pěkně s WinForms a je tu i možnost [, aby to fungovalo s LINQ](http://geekswithblogs.net/steveclements/archive/2007/11/13/LINQ-to-SQL.compact.aspx)