ODBC Zugriff
Raffi
- php
Hallo Leute...hab da ein kleines Problem...und zwar liegt eine Newsdatenbank auf dem Server einer Antiviren Softwarefirma. Die News darf ich in meine Seite einbinden (habe die Erlaubnis). Jetzt ist nur das PRoblem, dass diese SQL und Windows 2000 einsetzen und mir ein Beispielscript gemailt haben, mitdem ich per ODBC auf die DB zugreiffen kann. Nur funktioniert dies nicht auf derm Linux Server meines Hosting Providers. Kann man den Script irgendwie umschreiben, oder etwas auf dem linux-Server einrichten damit dies geht?
hier der script:
<!------------------- Connect Database ------------------------>
<?php
$dsn = "SERVER";
$user = "vo_focusnet";
$passwort = "kennwort";
$connection = odbc_connect($dsn, $user, $password);
?>
<!------------------- Database Queries ------------------------>
<?php
$virusdetails = "SELECT Alert.*, Virus.VirusName, Virus.VirusDate, Virus.VirusSummaryGE, VirusAlias, Virus.VirusRiskLevelID, AlertStatus.*, Level.*
FROM Alert
INNER JOIN Virus ON Alert.VirusID = Virus.VirusID
INNER JOIN AlertStatus ON Alert.AlertStatusID = AlertStatus.AlertStatusID
INNER JOIN Level ON Virus.VirusRiskLevelID = Level.LevelID
WHERE Alert.AlertStatusID = 2
ORDER BY AlertDate DESC";
$result = odbc_exec($connection, $virusdetails);
$VirusID = odbc_result($result, "VirusID");
$virustype = "SELECT *
FROM VirusType
INNER JOIN VirusVirusType ON VirusType.VirusTypeID = VirusVirusType.VirusTypeID
WHERE VirusVirusType.VirusID = " . $VirusID .
"ORDER BY VirusTypeNameGE";
?>
<!------------------- Display --------------------------------->
<table border='1' width='400'>
<?php
$result_virusdetails = odbc_exec($connection, $virusdetails);
$result_virustype = odbc_exec($connection, $virustype);
echo "<tr>";
echo "<td>";
echo "<b>Virus-Name</b>";
echo "</td>";
echo "<td>";
echo odbc_result($result_virusdetails, "VirusName");
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<b>Risiko-Stufe</b>";
echo "</td>";
echo "<td>";
echo odbc_result($result_virusdetails, "LevelNameGE");
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo " ";
echo "<td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<b>Alias-Name</b>";
echo "</td>";
echo "<td>";
echo odbc_result($result_virusdetails, "VirusAlias");
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<b>Entdeckungs-Datum</b>";
echo "</td>";
echo "<td>";
echo odbc_result($result_virusdetails, "VirusDate");
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td valign='top'>";
echo "<b>Typ</b>";
echo "</td>";
echo "<td>";
while (odbc_fetch_row($result_virustype)){
echo odbc_result($result_virustype, "VirusTypeNameGE");
echo "<br>";
}
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='2'>";
echo odbc_result($result_virusdetails, "VirusSummaryGE");
echo "</td>";
?>
</table>
<!------------------- Disconnect Database ------------------------>
<?php
odbc_close($connection);
?>
Grüsse aus der Schweiz Raffi...
hi,
willst du auf deren db-server zugreifen oder auf deinen eigenen? ich verstehe nämlich gerade dein problem nicht ganz.
es kann höchstens sein das dein server das odbc-modul nicht installiert hat und es deswegen nicht funktioniert. sollte das der fall sein musst mal mit deinem admin sprechen ob er dir das installieren kann.
greez marcus
nicht auf meinen...sondern auf deren. Da müsste doch dann eine neue ODBC Quelle auf deren IP eingerichtet werden. oder?
gruss
raffi
backbone
hm... gute frage, bin kein M$ofti... und kenne misch mit der ODBC-schnittstelle net aus aber ich denke mal das das den SQL-Server ist *mal in den raum stell* und du somist die befehle zum connect, abruf der daten etc. nur durch sql-befehle erstzen musst oder nicht? *alle frag*
tschau
Hab ich mir eben auch schon gedacht....aber eben....bin da auch nicht der profi...wäre für ein tip sehr dankbar....
gruss
raffi
so, hab mal versucht das alels in mysql umzuschreiben. also bei den databasequaries sehe ich nicht ganz durch aber in mysql-befehlen bin ich auch nicht ganz so firm. aber sonst müsste das alles eigentlich funktionieren.
ach und guck dir nochmal die sache an wo ich nen langen kommentar geschrieben habe.
tschau
<!------------------- Connect Database ------------------------>
<?php
$dsn = "SERVER"
$user = "vo_focusnet"
$passwort = "kennwort"
$connection = mysql_connect($dsn, $user, $password)
//<!------------------- Database Queries ------------------------>
$virusdetails = "SELECT Alert.*, Virus.VirusName, Virus.VirusDate, Virus.VirusSummaryGE, VirusAlias, Virus.VirusRiskLevelID, AlertStatus.*, Level.*
FROM Alert
INNER JOIN Virus ON Alert.VirusID = Virus.VirusID
INNER JOIN AlertStatus ON Alert.AlertStatusID = AlertStatus.AlertStatusID
INNER JOIN Level ON Virus.VirusRiskLevelID = Level.LevelID
WHERE Alert.AlertStatusID = 2
ORDER BY AlertDate DESC"
$result = mysql_query($connection, $virusdetails)
$VirusID = mysql_result($result, "VirusID")
$virustype = "SELECT *
FROM VirusType
INNER JOIN VirusVirusType ON VirusType.VirusTypeID = VirusVirusType.VirusTypeID
WHERE VirusVirusType.VirusID = " . $VirusID .
"ORDER BY VirusTypeNameGE"
//<!------------------- Display --------------------------------->
"
<table border=1 width=400>
"
$result_virusdetails = "mysql_query($connection, $virusdetails)"
$result_virustype = "mysql_query($connection, $virustype)"
$sql1 = mysql_result($result_virusdetails, "VirusName");
$sql2 = mysql_result($result_virusdetails, "LevelNameGE");
$sql3 = mysql_result($result_virusdetails, "VirusAlias");
$sql4 = mysql_result($result_virusdetails, "VirusDate");
$sql5 =
$sql6 = mysql_result($result_virusdetails, "VirusSummaryGE");
$sql7 =
$sql8 =
echo" <tr>
<td>
<b>Virus-Name</b>
</td>
<td>
$sql1;
</td>
</tr>
<tr>
<td>
<b>Risiko-Stufe</b>
</td>
<td>
$sql2;
</td>
</tr>
<tr>
<td>
 
<td>
</tr>
<tr>
<td>
<b>Alias-Name</b>
</td>
<td>
$sql3;
</td>
</tr>
<tr>
<td>
<b>Entdeckungs-Datum</b>
</td>
<td>
$sql4
</td>
</tr>
<tr>
<td valign='top'>
<b>Typ</b>
</td>
<td>";
while (mysql_fetch_row($result_virustype)){ //was das teil hier machen soll kann ich nicht wirklich erkennen deswegen lasse ich es mal so aber es funzt so auf keinen fall!!!
mysql_result($result_virustype, VirusTypeNameGE)
<br>
}
echo" </td>
</tr>
<tr>
<td colspan='2'>
$sql6;
</td>
</table>
";
//<!------------------- Disconnect Database ------------------------>
odbc_close($connection)
?>
und so könnten die paar zeilen noch müssen wo ich eben sagte das ich nicht genau weiss wie das muss.
tschau
<tr>
<td valign="top">
<b>Typ</b>
</td>
<td>";
while ($sql5 = mysql_fetch_array($result_virustype)){
echo"$sql5<br>";
}
echo"
</td>
</tr>
<tr>
<td colspan="2">
$sql6;
</td>