[VB.NET/SQL] Deploying van applicatie met SQL db backend

Pagina: 1
Acties:
  • 149 views sinds 30-01-2008
  • Reageer

  • Jay-P
  • Registratie: Oktober 2003
  • Laatst online: 04-06 00:39
Ik ben op het moment bezig met een VSTO applicatie in vs 2005 waarbij ik een sql database als backend gebruik. Ik wil deze deployen/verspreiden op diverse PCs die bij installatie gewoon elk hun eigen copy van de DB meegeleverd krijgen. Geen shared DB dus maar gewoon per installatie een eigen DB op de eigen PC. Heeft iemand toevallig ergens een link en/of info over hoe ik dat precies moet doen.

-Bijvoorbeeld, ik heb nu de SQL server express als prerequisite toegevoegd, maar checkt dit ook of SSX al geinstalleerd is of installeert die hem dubbel als die al aanwezig is op de PC? Of is het praktischer om de gebruiker te instrueren om, zo niet aanwezig, sql express zelf te downloaden en installeren ?

-Hoe lever ik de betreffende mdf/db mee met de installatie, en zorgt die dat hij automatisch in de goede folder terecht komt en kan die dan connecten met de DB. De connectie string die ik mijn applicatie gebruik is de volgende, de "." zorgt ervoor dat ie met de lokale PC op de betreffende folder de DB connect :

edit:
de AttachDbFilename zorgt ervoor dat ie aan mijn applicatie wordt gebonded, is dit dan de optie die ik zoek. Ook begrijp ik uit de MSDN even niet wat precies de "logical name" nou moet zijn, en wat dit precies voorstelt


(Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\PCMStatic.mdf;Initial Catalog=C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\PCMSTATIC.MDF)

-Moet ik de DB als item toevoegen in mijn project om hem met installatie mee te installeren ?

en, enigzins offtopic maar lijkt me onnodig om er een nieuw topic voor te maken, ik ben dus bezig om een VSTO voor word 2007 applicatie te schrijven waar ik dus gebruik heb gemaakt van de word-addin template, nu ik heb ik in het begin de setup project ervan per ongeluk gedelete, kan ik er gewoon weer een setup project template ingooien of verschilt deze wezenlijk van degene die automatisch met de word-addin template wordt toegevoegd ?

[ Voor 6% gewijzigd door Jay-P op 17-12-2006 15:18 ]


Verwijderd

Zoals elke goede installatietool het doet, controleert ook de installatietool van SSX eerst of er al een versie geinstalleerd staat (NOTE: SQL Server 2000 en 2005 zijn verschillende producten en die cross checked hij dus niet).

- Standaard worden MDF's ed. niet meegeleverd, omdat dit gezien wordt als bad practise en is het draaien van de SQL scripts vele malen beter om te doen. Maar hier wat links:
http://www.codeproject.co.../Deploy_your_database.asp
http://www.codeproject.com/cs/database/sqlscriptinstall.asp

- Database strings altijd in de configuratiefiles definieren en nooit in code. Dan kan de gebruiker hem altijd wijzigen.

- Nee, een nieuwe setup toevoegen zou niet veel moeten veranderen, mogelijk moet je zelf wel wat meer instelwerk doen.

  • Jay-P
  • Registratie: Oktober 2003
  • Laatst online: 04-06 00:39
Bedankt Exiss, helaas ben ik nog vrij nieuw met SQL en is het draaien van een script ervoor nog niet echt aan mij besteed, de makkelijkste oplossing voor mij lijkt me dan het appart meeleveren van het MDF bestand (beveiliging is niet echt een issue in mijn geval) en de gebruiker vragen om het pad waar hij de MDF in heeft gestopt om vervolgens de connectie string te formateren als:

"(Data Source=.\SQLEXPRESS;AttachDbFilename=" my.settings.MDFPath "PCMStatic.mdf"

Verwijderd

Wanneer je SQL Express moet uitleveren met je applicatie is security altijd een issue.

  • Jay-P
  • Registratie: Oktober 2003
  • Laatst online: 04-06 00:39
Verwijderd schreef op zondag 17 december 2006 @ 16:12:
Wanneer je SQL Express moet uitleveren met je applicatie is security altijd een issue.
Je bedoelt voor het opzetten van de connectie ? , ik heb er nog duidelijk te weinig kaas van gegeten ;), ik kwam er al wel achter dat Compact Edition een goede keus zou zijn geweest voor me, ware het niet dat ik al gebruik heb gemaakt van stored procedures en procedural TSQL wat die versie helaas niet ondersteunt. Ik zal het maar gewoon allemaal even moeten uittesten op een andere machine, hopelijk levert me dat wat meer inzichten op.

Verwijderd

Nee, ik bedoel dat het installeren van SQL Server (ongeacht de versie) zeer ongewenst is op desktops.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Jay-P schreef op maandag 18 december 2006 @ 17:36:
ik kwam er al wel achter dat Compact Edition een goede keus zou zijn geweest voor me, ware het niet dat ik al gebruik heb gemaakt van stored procedures en procedural TSQL wat die versie helaas niet ondersteunt.
Correct me if I'm wrong, maar de Compact Edition editie is voor in principe bedoeld voor "mobile devices" als PDA's en tablet pc's en naar ik aanneem dus niet op jou van toepassing ;)
ALS je al SQL mee gaat leveren met je applicatie dan zul je dus de Express editie moeten gebruiken.

Neem anders even hier en anders hier (uitgebreid) een kijkje ;)

[ Voor 22% gewijzigd door RobIII op 18-12-2006 19:12 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Jay-P
  • Registratie: Oktober 2003
  • Laatst online: 04-06 00:39
RobIII schreef op maandag 18 december 2006 @ 19:05:
[...]

Correct me if I'm wrong, maar de Compact Edition editie is voor in principe bedoeld voor "mobile devices" als PDA's en tablet pc's en naar ik aanneem dus niet op jou van toepassing ;)
ALS je al SQL mee gaat leveren met je applicatie dan zul je dus de Express editie moeten gebruiken.

Neem anders even hier en anders hier (uitgebreid) een kijkje ;)
Dat dacht ik dus in eerste instatie ook (en dat was voor vroegere versies ook het geval), maar, zoals ook in die links staat die je zelf gaf :D, wordt duidelijk gemaakt dat hij juist ook erg/met name geschikt is voor desktop apps met een embedded DB. Waardoor SQL Express overbodig is.

Maar iig, ik denk dat ik op de goede weg zit als ik het installeren van SQL express aan de gebruiker overlaat en een aparte DB/mdf bestand meelever waarna aan de gebruiker gevraagd wordt waar hij de DB heeft opgeslagen en vervolgens met attachdbfilename de connectie string wordt opgebouwd en opgeslagen.
Pagina: 1