Jag har gjort ett program som skapar en webshop, nu vill jag att programmet ska gå ut på nätet och koppla upp sig mot den databas som jag har skapat till webshopen. Där ska den på något sätt läsa hem den data som ligger sparad där. Problemet för mig är att jag inte kommer på något smidigt sätt att koppla upp mig mot en databas som ligger online. Är det någon som har en lösning på detta?? Låt programmet ladda ner databasen först. Du har inte sagt vad det är för typ av hosting eller db du har. Har du tillgång till ASP eller liknande så kan du använda SOAP. Jag vill koppla upp mig mot eb sql databas och "tanka" hem den data som ligger där i rakt in i mitt program och spara det i en lokal sql databas eller access databas Jag kör PHP på websidan och jag kan använda sql eller access det är vilket som Är det en MySQL eller MSSQL databas? Jag kör en webservice på webplatsen som plockar det data jag vill ha ur sajt DBn (Access) och sedan har jag ett program lokalt som snackar SOAP och tar emot detta samt puttar in det i min Access DB. Är det något liknande du vill ha? Det är precis så jag vill att det ska funka. Tycker du att det fungerar bra? Det tar mindre än en sekund att hämta 90 poster data ( drygt 100kB ) så jag är skapligt nöjd. Nu kommer jag att lägga min tid på att implementera förbättringar av SOAP tjänsten samt säkerhet.. men det är ju ingen issue ännu eftersom detta inte är en affärskritisk applikation. Jag kan leta reda på en bra länk åt dig där det finns ett exempel på hur du kommer igång. På serversidan lät jag .NET lösa kopplingen mot min DB, alltså med en asmx webservice. På klientsidan har jag en traditionell VB6 lösning som skapar ett SOAP meddelande... klassen för detta finns i exemplet så det enda du behöver är egentligen att ta reda på vad för logik du vill åt och koda den biten själv. Jag letar ... För att skapa en koppling till MySQL databasen, använd koden nedan.Koppla upp mig mot en databas på nätet med hjälp av VB
// JohanSv: Koppla upp mig mot en databas på nätet med hjälp av
/ PeterSv: Koppla upp mig mot en databas på nätet med hjälp av
joacimSv: Koppla upp mig mot en databas på nätet med hjälp av
Sv: Koppla upp mig mot en databas på nätet med hjälp av
Sv: Koppla upp mig mot en databas på nätet med hjälp av
//MagnusSv: Koppla upp mig mot en databas på nätet med hjälp av
joacimSv: Koppla upp mig mot en databas på nätet med hjälp av
Sv: Koppla upp mig mot en databas på nätet med hjälp av
Här är ett utdrag:
Private Sub cmdGet_Click()
Screen.MousePointer = vbHourglass
TextStatus.text = "Hämtar data från www.dindomän.se"
TextStatus.Refresh
Dim soap As SOAPSender
Set soap = New SOAPSender
soap.BeginBodyPart "GetAllAttendees", "http://www.dindomän.se/webservices/"
soap.EndBodyPart
soap.SoapAction = """http://www.dindomän.se/webservices/dinservice"""
soap.ServiceUrl = "http://www.dindomän.se/webservices/dinservice.asmx"
soap.Send
DisplayData soap.GetResponseString
Screen.MousePointer = vbDefault
End Sub
I DisplayData tar du hand om svaret och fyller dina objekt eller DB
SOAPSender är klassen som finns i exemplet bara jag hittar länken... annars får jag väl dumpa allt till dig :)
Samt ett utdrag ur webservicen:
[WebMethod(CacheDuration=60)]
public System.Data.DataSet dinservice() {
string sql = "SELECT * FROM [TabellEllerFråga]";
return GetDataSet(sql);
}
JoacimSv: Koppla upp mig mot en databas på nätet med hjälp av
<code>
Dim Db
Set Db = CreateObject("ADODB.Connection")
Db.Open "Driver={mySQL};" & _
"Server=servern;" & _
"Port=3306;" & _
"Option=131072;" & _
"Stmt=;" & _
"Database=databasen;" & _
"Uid=användarnamnet;" & _
"Pwd=lösenordet;"
</code>
För att sedan göra anrop till databasen, använd följande:
För SELECT:
<code>
Dim Rs
Set Rs=Db.Execute(SQL-satsen)
Värde=Rs("fältnamn")
</code>
För INSERT, UPDATE, DELETE mm:
<code>
Db.Execute(SQL-satsen)
</code>
//Magnus