Hosted Exchange

Werbung
MS-SQL Datenbankanbindung
MS-SQL Datenbankanbindung
INDEX
_________________________________________________________________________________
Microsoft SQL Server Management Studio Express.......................2
Benutzer-Berechtigungen................................................................6
Verbindung zur Internet-Anwendung über ASP ..............................6
Verbindung zur Internet-Anwendung über ASP.NET.......................7
Verbindung zur Internet-Anwendung über PHP ..............................8
Verbindung zur Internet-Anwendung über Perl...............................9
Portieren einer bestehenden Access-Datenbank .........................10
Administration Ihrer Datenbank mit Microsoft Access ................17
Erstelldatum 15.01.08
Version 1.2
MS-SQL Datenbankanbindung
Microsoft SQL Server Management Studio Express
Mit der Software Microsoft SQL Server Management Studio Express, welche von Microsoft (
http://www.microsoft.com/downloads/details.aspx?FamilyId=C243A5AE-4BD1-4E3D-94B85A0F62BF7796&displaylang=en ) kostenlos bezogen werden kann, können Sie Ihre Datenbank administrieren.
Klicken Sie auf New Query.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 2 von 19
MS-SQL Datenbankanbindung
Tragen Sie den Servernamen ein, wechseln Sie auf SQL. Server Authentification und geben Sie die Zugangsdaten,
welche Sie von unserer Administration erhalten haben, ein. Klicken Sie danach auf Connect.
Nach einem Rechtsklick auf den Namen der Datenbank wählen Sie „Open in Object Explorer“. Um eine neue Tabelle zu
erstellen, öffnen Sie Ihre Datenbank und wählen nach einem Rechklick „New Table“ aus.
Sie gelangen direkt in die Entwurfsansicht einer neuen Tabelle und können Felder und Datentyp spezifizieren.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 3 von 19
MS-SQL Datenbankanbindung
Unter Security –> Users können Sie Benutzer verwalten und Berechtigungen vergeben. Wenn beispielsweise der
Besucher Ihrer Applikation über das Internet Daten hinzufügen können soll, können Sie hier dem _user die
entsprechenden Berechtigungen erteilen.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 4 von 19
MS-SQL Datenbankanbindung
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 5 von 19
MS-SQL Datenbankanbindung
Benutzer-Berechtigungen
Sie erhalten in den Zugangsdaten von unserer Administration drei Benutzer zugestellt, die Sie verwenden können
und deren Berechtigungen nachfolgend erläutert werden. Die Benutzer und Passwörter können ansonsten über
my.green.ch unter https://wadmin.green.ch unter SQL Database -> SQL Server -> Benutzer eingesehen werden.
db123456_manager
Dies ist der Besitzer der Datenbank (database owner) und hat die meisten Berechtigungen. Er muss verwendet
werden, um neue Tabellen zu erstellen und für das Portieren einer bestehenden Datenbank.
db123456_admin
Dieser User hat standardmässig Lese- und Schreibrechte und kann verwendet werden, wenn zusätzlich zu einem
Benutzer mit nur-Lese-Rechten, ein weiterer benötigt wird. Beispielsweise zum Hinzufügen von Daten nach einer
Anmeldung im Admin-Bereich.
db123456_user
Für Applikationen, welche nur Lese-Rechte erfordern und keine Daten hinzufügen müssen, können Sie diesen User
einsetzen, beispielsweise reine Informationsabfrage über eine Website.
Verbindung zur Internet-Anwendung über ASP
Damit Ihre Anwendung auf die Datenbankinhalte zugreifen kann, benötigen Sie einen connection-string,
der Ihrer Anwendung den Speicherort der Datenbank mitteilt und in dem der Anwendung die
Zugriffsberechtigung auf die Datenbank erteilt wird. Dieser sollte bei Internet-Anwendungen auf den
public-user eingerichtet werden. Auf unseren Webservern wird kein ODBC-DSN (Data Source Name)
eingerichtet, weshalb die Datenbank von Ihrer Applikation aus via OLEDB angesprochen werden muss.
Den Servernamen sowie den jeweiligen Benutzernamen und das Passwort entnehmen Sie bitte Ihren
Zugangsdaten, welche Sie von unserer Administration erhalten haben.
Es ist sinnvoll, diesen Code in einer separaten Datei z.B. verbindung.asp abzuspeichern und sie per
include in das jeweilige Script einzufügen, das Zugriff auf die Datenbank benötigt:
<%
Dim Str_connect
Dim Connection
Str_connect = "Provider=sqloledb;data source= sql3.mcis.agrinet.local;initial catalog=db123456;user id=
db123456_user;password= 11111"
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Str_connect
%>
Der Kopf einer asp(Active Server Page)-Datei, die Zugriff auf Ihre db erhalten soll, könnte dann so
aussehen:
<%@ LANGUAGE="VBScript" %>
<% Option Explicit %>
<!--#include file="../include/verbindung.asp"-->
<%
Dim recordset
...
Set recordset = Connection.Execute(“SELECT * FROM Tabelle”)
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 6 von 19
MS-SQL Datenbankanbindung
…
%>
Verbindung zur Internet-Anwendung über ASP.NET
Für die Verbindung über ASP.NET benötigen Sie folgende Dateien im Verzeichnis Ihrer Applikation:
Default.aspx: (wird aufgerufen und zeigt die Website an):
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Sample2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>my dropdown</title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDown" runat="server">
</asp:DropDownList>
</form>
</body>
</html>
Default.aspx.cs (liest die Daten aus der Datenbank aus):
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public partial class Sample2 : System.Web.UI.Page
{
private ConnectionStringSettings cs =
System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"];
private SqlConnection conn = null;
protected void Page_Load(object sender, EventArgs e)
{
conn = new SqlConnection(cs.ConnectionString);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT Sample_Name FROM tblSample;";
cmd.CommandType = CommandType.Text;
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.Default);
while (reader.Read())
{
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 7 von 19
MS-SQL Datenbankanbindung
string text = reader.GetString(reader.GetOrdinal("Sample_Name"));
this.DropDown.Items.Add(text);
}
conn.Close();
}
}
Web.config (stellt die Verbindung zum SQL-Server her):
<?xml version="1.0"?>
<configuration>
<appSettings>
</appSettings>
<connectionStrings>
<clear/>
<add name="ConnString" connectionString="Data Source=sql3.mcis.agrinet.local;Initial
Catalog=db123456;Persist Security Info=True;User ID=db607923_user;password=1111" />
</connectionStrings>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" defaultLanguage="c#"></compilation>
</system.web>
</configuration>
Falls Sie die Applikation in einen Unterordner Ihres Webs publizieren möchten, müssen Sie den Ordner für die
Ausführung von aspx-Dateien freischalten und die Applikations-Isolation aktivieren. Dies können Sie im
my.green.ch unter https://wadmin.green.ch -> greenHosting -> Ihre Domäne -> Web Verzeichnisse. Klicken Sie
auf Neu, geben Sie das Verzeichnis in dem sich Ihre ASP-NET Applikation befindet an und aktivieren Sie „Scripts
erlauben“ und „Applikations Isolation“.
Verbindung zur Internet-Anwendung über PHP
Die Verbindung zwischen Ihrer php-Applikation und Datenbank erfolgt über die php-mssql-Bibliothek. Das oben
aufgeführte asp-script würde in php folgendermassen aussehen:
<?php
/* Variablen für connection-string deklarieren:
hostname,databasename,username und passwort*/
$host = 'sql3.mcis.agrinet.local';
$db = 'db123456';
$user = 'db123456_user’;
$pwd = '1111';
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 8 von 19
MS-SQL Datenbankanbindung
/* Verbindung zum Datenbankserver herstellen
$cn=mssql_connect($host,$user,$pwd);
/* mit errorhandling: */
if (!$cn=mssql_connect($host,$user,$pwd))
{
echo 'Keine Verbindung zum Datenbankserver möglich!<br>';
exit;
}
/* Datenbank wählen */
mssql_select_db($db,$cn);
/* mit errorhandling:
if (!mssql_select_db($db,$cn))
{
echo 'Verbindung zur Datenbank nicht möglich!<br>';
exit;
}
*/
/* sql-statment formulieren und ausführen */
$sql = "SELECT * from authors ORDER BY Tabname";
$result = mssql_query($sql);
?>
Verbindung zur Internet-Anwendung über Perl
Die Kommunikation zwischen Datenbank und Applikation erfolgt in perl üblicherweise mit dem dbi-modul.
Unser Beispiel einschliesslich einer einfachen Ausgabe der gefundenen Ergebnisse sieht in perl
folgendermassen aus:
#!/usr/local/bin/perl
use strict;
use CGI qw(:standard);
use DBI;
my $dbuser = 'db123456_user';
my $dbpwd = '1111’;
my $db = 'db123456';
my $host = ' sql3.mcis.agrinet.local';
my $connection = "driver={SQL Server};Server=$host;database=$db;uid=$dbuser;pwd=$dbpwd;";
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title>Test</title>\n";
print "</head>\n";
print "<body>\n";
my $dbh = DBI->connect( "dbi:ODBC:$connection",
{RaiseError => 1, PrintError => 1, AutoCommit => 1} ) or
die "Die Verbindung konnte nicht aufgebaut werden. Grund: " . $DBI::errstr . "\n";
print "<p>Verbindung zur $db-Datenbank auf dem MS SQL-Server $host unter perl erfolgreich
aufgebaut</p>";
my $sql = "SELECT * from tabname";
my $sth = $dbh->prepare($sql);
print "<table>\n";
print "<tr>\n";
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 9 von 19
MS-SQL Datenbankanbindung
print "<td bgcolor=#EBEBEB>ID</td>\n";
print "<td bgcolor=#EBEBEB>Vorname</td>\n";
print "<td bgcolor=#EBEBEB>Nachname</td>\n";
print "</tr>\n";
$sth->execute();
while (my $ref = $sth->fetchrow_arrayref()) {
print "<tr>\n";
print "<td><small>$ref->[0]</small></td>\n";
print "<td><small>$ref->[1]</small></td>\n";
print "<td><small>$ref->[2]</small></td>\n";
print "</tr>\n";
}
print "</table>\n";
print "</html>";
$dbh->disconnect;
Portieren einer bestehenden Access-Datenbank
Falls Ihre Access-Datenbank (*.mdb) in einer älteren Access-Version erstellt wurde, speichern Sie diese bitte im Access
2002-2003-Dateiformat. Öffnen Sie Ihre zu portierende Datenbank, danach finden Sie den Wizard im
Hauptmenü unter Extras, Datenbank-Dienstprogramme, Upsizing-Assistent.
Wählen Sie die ‘Vorhandene Datenbank verwenden’.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 10 von 19
MS-SQL Datenbankanbindung
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 11 von 19
MS-SQL Datenbankanbindung
Wählen Sie weiter und unter Dateidatenquelle danach Neu.
Wählen Sie SQL Server aus und klicken Sie auf Weiter.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 12 von 19
MS-SQL Datenbankanbindung
Geben Sie den Namen für die DSN an.
Geben Sie eine Beschreibung für Ihre Datenbank sowie den Namen des SQL-Servers ein.
Wählen Sie „Mit SQL Server-Authentifizierung anhand des vom Benutzer eingegebenen Benutzernamens und
Kennwortes und tragen Sie Ihre Zugangsdaten ein.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 13 von 19
MS-SQL Datenbankanbindung
Es erscheinen abschliessend alle gesetzten Einstellungen. Mit „Datenquelle testen…“ lässt sich überprüfen, ob
alle Optionen richtig gesetzt sind, was mit den beschriebenen Einstellungen funktionieren sollte:
Der Database-owner (_Manager) besitzt die meisten Rechte und kann neue Tabellen anlegen. Da Sie mit dem
Upsizing-Wizard neue Tabellen auf unserem Server anlegen müssen, melden Sie sich im folgenden
Dialog mit seiner Kennung am Server an.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 14 von 19
MS-SQL Datenbankanbindung
Wählen Sie aus Ihrer lokalen Access-Datenbank mit > bzw. >> die Tabellen, die Sie auf unserem Server
einspielen wollen.
Im nächsten Schritt wählen Sie, welche Tabellen-Attribute Sie portieren wollen. Wie Sie an den
Auswahlmöglichkeiten erkennen, kann nahezu die gesamte Datenbanklogik auf SQL-Server übertragen
werden. Sie haben die Möglichkeit zusätzlich zu den existierenden Tabellenfeldern ein timestamp-Feld
einzufügen, das auf das aktuelle Datum gesetzt wird, sobald ein Datensatz bearbeitet wird.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 15 von 19
MS-SQL Datenbankanbindung
Klicken Sie auf „Weiter“.
Klicken Sie auf „Fertig stellen“. Am Ende wird ein Report des durchgeführten upsizing geliefert, mit dessen Hilfe Fehler
untersucht und vermieden werden können.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 16 von 19
MS-SQL Datenbankanbindung
Ihre Datenbank wir nun auf den SQL-Server portiert und kann danach mit dem Microsoft SQL Server Management
Studio Express verwaltet werden.
Administration Ihrer Datenbank mit Microsoft Access
Wir empfehlen Ihnen die Verwaltung der Datenbank mit der Software Microsoft SQL Server Management Studio
Express, welche von Microsoft kostenlos zur Verfügung gestellt wird. Sollten Sie Ihre Datenbank dennoch weiterhin über
Microsoft Access verwalten, gehen Sie wie folgt vor. Unter Datei, Neu wählen Sie „Projekt aus bestehenden Daten“.
Benennen Sie Ihr Datenbankprojekt (adp-Datei) mit einem frei gewählten Namen.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 17 von 19
MS-SQL Datenbankanbindung
Sie kommen auf die Anmeldeseite – hier müssen Sie unseren Datenbankserver sowie Ihre LoginInformationen eingeben. Testen Sie die Verbindung.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 18 von 19
MS-SQL Datenbankanbindung
Sollte die Verbindung nicht erfolgreich sein, müssen Sie ähnlich wie bei der ODBC-Verbindung dem
System mitteilen, mit welchem Protokoll es mit dem Datenbankserver kommunizieren soll. Wählen Sie
hierzu im Anmeldefenster den Reiter „Alle“ und editieren das Feld „Network Library“ mit dem Wert
„dbmssocn“ – dies ist der Treiber für das TCP/IP-Protokoll.
Nach erfolgreicher Anmeldung öffnet sich eine Arbeitsumgebung, die der von Access 2002-2003 sehr ähnelt.
Innerhalb dieser Oberfläche können Sie Ihre Datenbank auf dem SQL-Server sehr komfortabel und
ähnlich wie eine Access-Datenbank administrieren.
Erstelldatum 15.01.08 / Version 1.2 / © green.ch
Seite 19 von 19
Herunterladen