Avatar billede torotune Nybegynder
30. marts 2006 - 09:22 Der er 30 kommentarer og
1 løsning

ConnectionStrings i web.config

Hej,

Jeg kigget lidt i nogle eksempler på asp.net 2.0's connectionStrings i web.config i VWD:

Eksempel:

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="Pubs" connectionString="Server=(local)\SQLExpress;Integrated Security=True;Database=pubs;Persist Security Info=True"
      providerName="System.Data.SqlClient" />
    <add name="Northwind" connectionString="Server=(local)\SQLExpress;Integrated Security=True;Database=Northwind;Persist Security Info=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
      <pages styleSheetTheme="Default"/>
  </system.web>
</configuration>

Hvordan kan jeg ligeledes definere connectionStrings i min web.config der connect'er til en Access database og en MySql database, og som man kan kalde på samme måde fra sin webform?

Mvh.
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 17:03 #1
<add name="Mysqldb" connectionString="Server=Server;Database=Test;Uid=UserName;Pwd=asdasd;" />

Du skal downloade mysql connector herfra:
http://dev.mysql.com/downloads/connector/net/


Du kan finde eksempler på alle connectionstrings her:

http://www.connectionstrings.com/
Avatar billede torotune Nybegynder
30. marts 2006 - 17:31 #2
Okay, men hvordan vil det se ud mellem <connectionString> og </connectionString>

Altså for MySql: 

<connectionString>
  <add name="Mysqldb" connectionString="Server=Server;Database=Test;Uid=UserName;Pwd=asdasd;" />
</connectionString>

For Access:

<connectionString>
  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;"
</connectionString>

Eller mangler jeg noget her?
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 17:32 #3
<connectionStrings>
<add name="Mysqldb" connectionString="Server=Server;Database=Test;Uid=UserName;Pwd=asdasd;" />
  </connectionStrings>

er helt rigtig
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 17:33 #4
<connectionString>
  <add name="Accessdb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;" />
</connectionString>
Avatar billede torotune Nybegynder
30. marts 2006 - 17:58 #5
Okay - hvis jeg så add'er:

<connectionString>
  <add name="Accessdb" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;" />
</connectionString>

Til system.Web i min web.config, burde jeg så ikke kunne test om det virker ved at lave en form der indeholder:

  <form id="Form1" runat="server">
  <asp:SqlDataSource ID="AccessDataSource" runat="server"   
    ConnectionString="AccessDB"
    SelectCommand="SELECT * FROM MyTable"/>
  <asp:GridView ID="myGridView" DataSourceID="AccessDataSource" runat="server" />
</form>
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 18:24 #6
når det er en access database skal du bruge en

asp:accessdatasource
Avatar billede torotune Nybegynder
30. marts 2006 - 21:16 #7
Okay, jeg tror jeg er ved at have den :-)
Avatar billede torotune Nybegynder
30. marts 2006 - 21:21 #8
Jeg har dog lige et problem med en update i et GridView. Jeg henter data gennem et ObjectDataSource, men når jeg prøver "edit"-funktionen i Grid'et og trykker "update" får jeg en error:

"Could not find a property named 'BrugerID' on the type specified by the DataObjectTypeName property in ObjectDataSource 'ObjectDataSource1'."

Jeg har ellers fulgt en af der video-tutorials der findes på www.asp.net for tiden, med den eneste forskel at jeg bruger en Access-DB.

Jeg smider lidt ekstra points hvis du kan hjælpe lidt her.. :-)
Avatar billede dr_chaos Nybegynder
31. marts 2006 - 08:11 #9
hvordan ser koden til gridview og object datasource ud ?
Avatar billede dr_chaos Nybegynder
31. marts 2006 - 08:11 #10
Noget kunne tyde på at du mangler en kolonne med brugerid i dit gridview
Avatar billede torotune Nybegynder
04. april 2006 - 00:11 #11
Hej igen, nu har jeg prøvet mig lidt frem, og jeg får denne error når jeg kommer til update er:

"ObjectDataSource 'ObjectDataSource1' could not find a non-generic method 'Update' that has parameters: p1, p2, p3, p4, p5, p6, p7, p8, p9, lastname, firstname, address, city, state, zipcode, phone, original_email."

Hvad kan den betyde? Update-sætningen er jo autogenereret af mit dataSet.
Avatar billede dr_chaos Nybegynder
04. april 2006 - 08:32 #12
Objectdatasource skal bruge en update metode i din class
Avatar billede torotune Nybegynder
05. april 2006 - 10:40 #13
okay, det vidste jeg ikke. Men er det en methode der kan blive autogenereret af VWD ved dannelsen af dataset'et eller skal man skrive den selv?
Avatar billede torotune Nybegynder
05. april 2006 - 10:41 #14
jeg havde forestillet mig det fungerede noget i retning af det her eksempel:

http://www.asp.net/QuickStart/util/srcview.aspx?path=~/aspnet/samples/data/GridViewUpdating.src
Avatar billede dr_chaos Nybegynder
05. april 2006 - 10:44 #15
Ja men så skal du bruge en SqlDataSource og ikke en objekt datasource.
Avatar billede torotune Nybegynder
05. april 2006 - 10:49 #16
Okay, jeg forstod det bare sådan at der ved object datasource var mange flere muligheder for nemmere at lave update/delete statements i for eksempel et GridView gennem et dataset?
Avatar billede dr_chaos Nybegynder
05. april 2006 - 10:56 #17
Ja men så skal du også lave classes og metoder i disse classes til at udfører arbejdet.
Avatar billede torotune Nybegynder
05. april 2006 - 23:31 #18
Okay, det må jeg så prøve at undersøge nærmere. Du ledte mig i hvert fald på rette spor med connectionStrings, så du skal helt sikkert lægge et svar :-)
Avatar billede dr_chaos Nybegynder
06. april 2006 - 08:14 #19
jamen så gør jeg da det :)
Avatar billede torotune Nybegynder
06. april 2006 - 10:36 #20
så husk det ;-)
Avatar billede dr_chaos Nybegynder
06. april 2006 - 10:38 #21
skal huske at spise de blå piller før de røde :)

man skulle tro at jeg havde lært det nu :)
Avatar billede torotune Nybegynder
06. april 2006 - 10:48 #22
hehe.. tak for hjælpen denne gang!
Avatar billede torotune Nybegynder
07. april 2006 - 06:00 #23
Hov, lige en lille ting, hvis du er med endnu:

Jeg har fået det til at virke med denne i min web.config (genereret af VWD selv)

<connectionStrings>
  <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\WWW\App_Data\database.mdb"
  providerName="System.Data.OleDb" />
</connectionStrings>

Her får jeg pludselige en error:

  "Keyword not supported: 'provider'."

?
Avatar billede dr_chaos Nybegynder
07. april 2006 - 08:17 #24
prøv med:
<connectionStrings>
  <add name="ConnectionString" connectionString="Data Source=c:\WWW\App_Data\database.mdb"
  providerName="System.Data.OleDb" />
</connectionStrings>
Avatar billede torotune Nybegynder
07. april 2006 - 10:51 #25
Det ser ellers ud som om den kompilerer alt rigtigt her, men til sidst smider den en exception:

Exception Details: System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

- Men er det fordi at provideren nu er fjernet at den tror der arbejdes med SQL Server 2005 igen?
Avatar billede dr_chaos Nybegynder
07. april 2006 - 12:00 #26
ja det tror jeg ogsåp.
prøv med:
<connectionStrings>
  <add name="ConnectionString" connectionString="provider=SQLOLEDB.1;Data Source=c:\WWW\App_Data\database.mdb"
  providerName="System.Data.OleDb" />
</connectionStrings>
Avatar billede torotune Nybegynder
07. april 2006 - 12:10 #27
Den er ikke glad for provider... Jeg får stadig en

  Keyword not supported: 'provider'.

Selvom jeg skifter den ud.
Avatar billede torotune Nybegynder
07. april 2006 - 12:22 #28
Jeg tror jeg har fundet løsningen:

I min form skal jeg når jeg declarer en SQLdatasource have:

"<%$ ConnectionStrings:ConnectionString %>"
  og herunder skal jeg så have
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"

- den laver i hvert fald ikke fejl mere med provider! :-)
Avatar billede dr_chaos Nybegynder
07. april 2006 - 12:34 #29
ok perfekt.
Avatar billede torotune Nybegynder
07. april 2006 - 12:34 #30
Du har fået lidt i karma-kassen for den ekstra hjælp! ;-)
Avatar billede dr_chaos Nybegynder
07. april 2006 - 12:43 #31
tak :)
Det samler jeg også på.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester