Hallo,
Ich habe folgendes Problem, bei dem ich schon viel gesucht, aber nichts gefunden habe.
Ich möchte mit PHP über odbc an eine MSSql DB. dazu habe ich ein script, das folgenden fehler ausgibt:
connected to DSN: kurs
Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ungültiger Objektname 'tbl_jobs'., SQL state S0002 in SQLExecDirect in C:\Inetpub\wwwroot\epicon.ag\charts\mstest.php on line 15
can not execute 'SELECT * FROM tbl_jobs'
closing connection Resource id #1
Da ist schon mal ersichtlich, dass die Verbindung zur DB hinhaut.
Aber irgendwie scheint es so, dass kei Zugriff auf die tabelle tbl_jobs (oder eine beliebige andere) möglich ist.
Wie kann ich feststellen, was hier der Fehler ist?
Hier der Code:
Weiss jemand Rat?
Danke, lg
Peter
Ich habe folgendes Problem, bei dem ich schon viel gesucht, aber nichts gefunden habe.
Ich möchte mit PHP über odbc an eine MSSql DB. dazu habe ich ein script, das folgenden fehler ausgibt:
connected to DSN: kurs
Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ungültiger Objektname 'tbl_jobs'., SQL state S0002 in SQLExecDirect in C:\Inetpub\wwwroot\epicon.ag\charts\mstest.php on line 15
can not execute 'SELECT * FROM tbl_jobs'
closing connection Resource id #1
Da ist schon mal ersichtlich, dass die Verbindung zur DB hinhaut.
Aber irgendwie scheint es so, dass kei Zugriff auf die tabelle tbl_jobs (oder eine beliebige andere) möglich ist.
Wie kann ich feststellen, was hier der Fehler ist?
Hier der Code:
PHP-Code:
<?
/* some environment variables, you can test to comment them out to see
* if things still work.
*/
$dsn="kurs"; // note 'DSN=' is required
$user="XXX";
$password="YYY";
$sql="SELECT * FROM tbl_jobs";
/* directly execute mode */
if ($conn_id=odbc_connect("$dsn",$user,$password)){
echo "connected to DSN: $dsn<br><br>";
if($result_id=odbc_do($conn_id, $sql)) {
echo "executing '$sql'<br><br>";
$num_fields=odbc_num_fields($result_id);
if($num_fields>0){
echo "Number of fields:
$num_fields<br>";
for($i=1;$i<=$num_fields;$i++){
$field_name[$i-1]=odbc_field_name($result_id,$i);
}
$num_rows=0;
while(odbc_fetch_row($result_id)){
for($i=1;$i<=$num_fields;$i++){
$result[$num_rows][$field_name[$i-1]]=odbc_result($result_id,$i);
}
$num_rows++;
}
echo "Number of rows: $num_rows<br>";
}else{
echo "not a field returned. <br><br>";
}
echo "Results:<br>";
for($i=0;$i<sizeof($result);$i++){
while(list($key,$value)=each($result[$i])){
echo "$i:$key=$value<br>";
}
}
echo "freeing result<br><br>";
odbc_free_result($result_id);
}else{
echo "can not execute '$sql'<BR><BR>";
}
echo "closing connection $conn_id";
odbc_close($conn_id);
}else{
echo "can not connect to DSN: $dsn<br><br>";
}
?>
Weiss jemand Rat?
Danke, lg
Peter
Kommentar