Hallå. Ska skapa en asp.net applikation som skall köras mot flera (typ 30 st) databaser som rullar på engna maskiner. Databaserna är Sybase, och jag hittade connection stringen på www.conectionstrings.com. Hur man gör kopplingar till flera databaser i vanlig ASP vet jag: Erik, Hej Johan. Tack för ditt svar. Jodå, du är helt rätt ute med dina AppSettings... Se Johans inlägg:Kopplingar till flera databaser i ASP.NET
[code]
Dim rs
Dim Con
Dim strSQL
Dim Antal
Dim Databas
Dim Databaser()
ReDim Databaser(1 to 11)
Databaser(1) = Server.MapPath("db/download.mdb")
Databaser(2) = Server.MapPath("filhantering/db/download.mdb")
Databaser(3) = Server.MapPath("forum&faq/db/download.mdb")
Databaser(4) = Server.MapPath("frogestallningar/db/download.mdb")
Databaser(5) = Server.MapPath("gast_dagbocker/db/download.mdb")
Databaser(6) = Server.MapPath("komminikation/db/download.mdb")
Databaser(7) = Server.MapPath("login_losen_admin/db/download.mdb")
Databaser(8) = Server.MapPath("lankar_listor/db/download.mdb")
Databaser(9) = Server.MapPath("nyheter/db/download.mdb")
Databaser(10) = Server.MapPath("statistik_raknare/db/download.mdb")
Databaser(11) = Server.MapPath("ovrigt/db/download.mdb")
strSQL = "SELECT Count(*) Count FROM download"
Set Con = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
For each Databas In Databaser
Con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Databas & ";"
rs.Open strSQL, on
If rs(0) > 0 Then
Antal = Antal + rs(0)
End If
rs.Close
Con.Close
Next
Response.Write "Antal: " & Antal
%>
[/code ]
Men hur blir detta i ASP.NET ??????
Någon som har nåra förslag?
MVH ErikSv: Kopplingar till flera databaser i ASP.NET
Det finns massor med information om ADO .Net på nätet och i artiklar här på Pelles sida.
Det du frågar om är rätt grundläggande saker som jag personligen tycker att man bör kunna innan man går in asp .net och databas access... Quickstarten som följer med ASP .Net visar oxå exempel på hur du kan gå mot ADO .Net (databaser)... När det handlar om olika databastyper så som SQL eller Access eller liknande finns det två olika grupper för detta i ADO .Net vilket man inte hade i vanliga ADO. (det du är van att använda)...
Oledb = Access och övriga databaser med kopatibla kopplingar. (Denna skall du nyttja)
Sql = Sql serverns egna.
En sida som kankse kan ge mer information.
http://www.sitepoint.com/article/introduction-ado-net
Jag föredrar att du tar och läser lite om just ADO .Net, detta säger jag inte för att vara taskig utan för att jag tror det ger dig mer hjälp än om vi ger dig kodexempel. Det finns en rad olika saker man bör känna till gällande ADO .Net vs ADO ex DataReader och Dataset typerna, även här bör man veta skillnaden för att ev veta vilken typ som passar dig bäst. DataReadern är den som liknar Recordsetet mest fast du kan bara läsra frammåt i den inte gå tillbaka. DataSet är en disconnected datakälla som du kan hoppa runt i precis som du vill den är inte bunden med Databasen så som Readern är.
Jag hoppas det löser sig, det är inte fel att förstå stora delar av ADO .Net för det fu vill göra. Kolla gärna på säkerhetsbitarna oxå.
PS... Skall du gå mot alla databaserna på samma sida? eller vid olika tillfällen? Se även web.config och AppSettigns för tips hur du kan lagra connectionsträngar globalt på ett trevligt sätt.
Ms har även producerat ett applicationsblock Data Access application Block (har jag för mig det heter, så mkt namn o hålla reda på nu ;-) ) denna hjälper en att göra anropen mot databaser ännu enklare.
Mvh Johan
Edit: Battertiet börjar ta slut på mitt tangentbord, detta kan medföra till att space m.m. inte riktigt kommit på sin plats, hoppas. Dags o dra o köpa nytt, hoppas du får koll på allt. Sv:Kopplingar till flera databaser i ASP.NET
Förstår att jag ska använda OleDb och inte SQL.
Har haft connection stringen i web.config förr också. Det jag egentligen inte förstod var hur jag skulle kunna lägga upp flera connection stringar i web.config filen men jag tror att jag förstår nu. Det bör väl bli något som det här:
<appSettings>
<add key="ConnectionString1" value="Data Source='myASEserver1';Port=5000;Database='myDBname1';UID='username';PWD='password';" />
<add key="ConnectionString2" value="Data Source='myASEserver2';Port=5000;Database='myDBname2';UID='username';PWD='password';" />
OSV......
</appSettings>
Sen ropar man bara på den man skall ha:
Dim myConnection As OleDbConnection = New OleDbConnection(ConfigurationSettings.AppSettings("ConnectionString1"))
Är jag på rätt väg eller ute och köper korv?
Sen till din fråga. Jag kommer troligen att gå till alla databaser från samma sida. Kanske tidsstyrt eller att man väljer vilken databas man vill hämta från.
MVH Erik Sv: Kopplingar till flera databaser i ASP.NET
Men din fråga på slutet missade jag!? Vad var frågan?Sv:Kopplingar till flera databaser i ASP.NET
"PS... Skall du gå mot alla databaserna på samma sida? eller vid olika tillfällen?"
MVH Erik