Hej, jag har gjort en applikation i asp.net 2 där jag kan lagra uppgifter i en databas (access), den ligger uppe på nätet och fyller sin funktion. Men rapporter är ett mörker på medium trust servrar (de flesta, alla? webhotell för rimliga pengar har medium trust) så jag tänkte bygga ett fristående program för ändamålet. Alla byter inte till c# Det finns inget bra sätt att komma åt filen på webservern. Som jag ser det finns det 2 alternativ. Det första är att applikationen får ladda hem hela databasen till klienten, men det är troligtvis ingen bra idé. Det andra sättet, det som jag skulle valt, är att skapa en webservice på servern som presenterar datat för klienten. Det var lite trist... Jag har tyvärr ingen erfarenhet av rapportgeneratorer på delad hosting, så där kan jag inte hjälpa till... Jag tror vi tänker samma sak, bara att jag inte har rätt ordföråd... Tanken är väl snarare att webservicen ska utföra en del arbete, och klienten anropar webservicen för att utföra någonting, inte för att bara skyffla data och låta klienten göra jobbet :) Jag är å andra sidan nöjd om den bara skyfflar data, det är allt jag behöver... Det är jätteenkelt att göra en webservice som bara hämtar data. Kolla in detta exemplet: http://www.codeguru.com/Csharp/Csharp/cs_webservices/tutorials/article.php/c5477 Du ska göra en metod som returnerar ett DataSet istället. Fint, exempel är bra! En film också hur du gör .. Ansluta till databas på nätet?
Access-databasen ligger i /App_Data mappen och jag har för mig att den är lite svår att komma åt utifrån, och det är jättebra. Men inte just nu :)
Hur ansluter jag till den?
Den funktionen som söker där man ber den leta hittar den inte och jag misstänker att det är placeringen i /App_data som gör det?
Jag kan tala om att jag kört VB6 tills nu och tänkte att det är en bra ide (?) att byta till c# istället för vb.net när jag ändå ska göra något helt nytt. Andra trådar här påstår att det är lika "lätt" att byta till C# som till vb.net. Dom enkla grejorna har inte varit något problem ännu...
Jag har just nu c# 2008 beta 2.Sv: Ansluta till databas på nätet?
Har också skrivit en hel del i VB6 och asp för web
Samt för flera år sedan en del c och lite c++
När det blev dags för asp.net valde jag att börja med c# men såg ingen nytta med detta.
Speciellt inte då jag ville ärva kod och inte växal mellan notation.
Slutade med c# och valde vb.net för min program till asp.net
Skrivet man så här så får man världens mothugg och detta är helt eget frivilligt val som var och en själv får bestämma över.
mvh RolandSv: Ansluta till databas på nätet?
När man arbetar med webservices underlättar det om du jobbar med en klient skriven i .NET jämfört med VB6.
/JohanSv:Ansluta till databas på nätet?
Speciellt som mitt första val var att skapa rapporten (reportViewer) direkt på servern, men det var tvärstopp pga medium trust problemet. Däremot så funkar den rapporten jag gjort i .aspx filen fint lokalt, men vid uppladdning så var det stopp och efter 1 veckas googlande och frågande så insåg jag att jag fick byta taktik. (det är väl det du menar med webservice?)
Om jag lägger databasen i en annan mapp, kommer jag åt den då?
Och hur mycket tappar jag i säkerhet på det?
Visst måste väl rapporter skapas i många applikationer som har anknytning till nätet? Jag kan inte förstå att det ska vara sååå svårt att få det att funka, utan att betala för dedikerad server eller köpa någon dyr rapportgenerator som ändå haltar i funktionen på en delad server (dom billiga funkar inte alls). Eller finns det något finulrligt sätt jag missat, jag är trots allt bara en ivrig amatör?
Det här är ideellt arbete tillsvidare så rimliga kostnader är att föredra.
Allt jag byggt tidigare i detta projekt är i .net 2 miljö, jag tyckte det var fel att börja något nytt i vb6...Sv: Ansluta till databas på nätet?
Du kan aldrig ansluta direkt till en Access-databas via http, oavsett i vilken mapp den ligger. Som jag skrev så skulle du kunna ladda ner hela filen till klienten om den ligger i en publik mapp, men det gör det möjligt för användaren att se hela filens innehåll, inget bra alltså.
Jag tycker fortfarande att du ska överväga att göra en webservice om du nu kan tänka dig att göra en klientapplikation i .NET. I klientapplikationen anropar du din webservice och får datasetet därifrån istället för att anropa databasen direkt.
/JohanSv:Ansluta till databas på nätet?
Jag tänker mig att jag gör en .exe fil som installeras hos användaren, den ansluter till databasen på nätet(om det är via en webservice eller hur det är spelar mindre roll, bara det inte blir för svårt :) )
Jag sökte lite på webservice och det verkar lite mer komplext än jag trodde, jag tänkte mig bara att man knåpade ihop en bra connection string.
Jag hittade något om "soap tookit" i en anna tråd här, är det något att läsa vidare på? Tråden var lite äldre... Eller finns det någon fin tutorial/beskrivning som jag inte hittat?Sv: Ansluta till databas på nätet?
Sv:Ansluta till databas på nätet?
Enda syftet är att göra rapporter med ReportViewer från databasen man matar in data på från en hemsida.Sv: Ansluta till databas på nätet?
/JohanSv:Ansluta till databas på nätet?
Läste koden, men måste prova för att förstå helheten även i det lilla exemplet...
FirstService.asmx Det är den som talar om vad som överförs?
WebApp.axpx Hmm, måste man klicka där för att starta firstService? Det verkar vara något man ser på "nätet" känns överflödigt i mitt fall i så fall.
WinApp.cs Är väl del i programmet som körs lokalt på skrivbordet?
Det är under [webmethod] jag gör så dataset returneras?
Hur frågar jag nog när jag försökt några timmar :)
Ju mer jag läser ju mindre förstår jag, kanske borde stannat vid vb.net och haft något litet hinder mindre. Hmm, hoppas det klarnar när jag provkör...Sv:Ansluta till databas på nätet?
http://www.pellesoft.se/area/articles/movies/basicwebservice.avi
Jag gjorde en också
http://www.pellesoft.se/area/articles/article.aspx?artid=911