pixelschubser
Goto Top

Microsoft SQL Server 2008 R2 - Script verbindet sich mit der falschen Datenbank

Microsoft SQL Server 2008 R2 - Script verbindet sich mit der falschen Datenbank

Mahlzeit zusammen,

ich hab ein Problem mit meinem Microsoft SQL Server 2008 R2. Dort habe ich zwei Datenbanken angelegt:

DatenbankX und DatenbankX-test

Dafür habe ich einen gemeinsamen User angelegt. Dieser hat bei beiden Datenbanken OWNER-Rechte. Nun habe ich in meinem PHP-Script angegeben, dass er sich mit DatenbankX-test verbindet.

<?
class mssql { 
   var $host     = "192.168.xxx.xxx";   
   var $pass     = "password";   
   var $user     = "SQL_USR_X";   
   var $database = "DatenbankX-test";  
   var $table    = "";  
   var $connect;
   var $result = array();
  
   public function connect() {      
     $this->connect = mssql_connect($this->host,$this->user,$this->pass); 
     mssql_select_db($this->database, $this->connect);
     return $this->connect;        
   }  
}
?>
Warum auch immer verbindet er sich ständig mit der DatenbankX und nicht mit der DatenbankX-test.

Hat jemand eine Idee?

Schöne Grüße

Content-ID: 173237

Url: https://administrator.de/contentid/173237

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

BadFsaadKl
BadFsaadKl 16.09.2011 um 12:46:33 Uhr
Goto Top
Moin,

kannst du dich normal mit SQL mit den Zugangsdaten auf der Datenbank verbinden ?

MfG Bad
Pixelschubser
Pixelschubser 16.09.2011 um 14:09:07 Uhr
Goto Top
Ja, kann ich. Habe dann auch volle Rechte auf beide Datenbanken
Pixelschubser
Pixelschubser 16.09.2011 um 15:06:59 Uhr
Goto Top
Hab den Fehler gefunden.

Irgendwie mochte der SQL-Server das "-" (DatenbankX-test) im Datenbanknamen nicht. Deshalb nahm er einfach die Standard-Datenbank des Users.

Hab die Datenbank umbenannt und siehe da es funktioniert.

Schöne Grüße
Indrador
Indrador 16.09.2011 um 16:02:55 Uhr
Goto Top
Hi,

ob es in php klappt weiß ich nicht aber in Abfragen musst du in solchen Fällen ja
auch [ und ] setzen, sonst weiß der Server ja bei operatoren (+/-/*/.......) nicht was du willst.

oder bei namen mit Leerzeichen muss man auch verwenden z.B.

select spalte_1 from tabelle funktioniert

select spalte 1 from tabelle funktioniert nicht
select [spalte 1] from tabelle funktioniert bei Leerzeichen usw.

Gruß