![]() |
Datenbank: SQL Server 2005 Express • Zugriff über: ADO
TADOQuery will nicht auf Tabelle!
Wer hilft mir den Wald wegzuschieben, damit ich die Bäume seh?
konkret: Experimentiere gerade mit SQL Server 2005 Express (ehemals MSDE), komme aber eigentlich aus der Access-Welt und hab jetzt so meine Schwierigkeiten. Möchte, wie bei Access auch, über TADOQuery auf eine Tabelle des SQLExpress Servers zugreifen. TADOConnection funktioniert. Habe die TAdoQuery mit dem SQL String "Select * FROM Table_1" aufgerufen und es kommt die Meldung "Ungültiger Objektname "Table_1"". Was kann man hier denn eigentlich alles so falsch machen? Gruß Frank |
Re: TADOQuery will nicht auf Tabelle!
Zitat:
Bei der definition des Connection-String mußt du auch noch die ausgewählte Datenbank angegen. Ich denke dein User hat als Standard-Datenbank "Master" eingerichtet und in deinem Connectionstring steht auch "Master" |
Re: TADOQuery will nicht auf Tabelle!
Nee, Nee, Nee,
dem ist nicht so. Habe explizit mit diesem SQL Express Manager eine neue Datenbank (Name = inout) angelegt. Und habe weiterhin darin eine Tabelle table_1 angelegt und sogar einen Datensatz eingepflegt. Im ConnectionString steht die Datenbank als Initial Catalog drin. Bin allerdings als User sa verbunden. |
Re: TADOQuery will nicht auf Tabelle!
Zitat:
Unterscheidet dein SQL-Server Groß/Kleinschreibung? Probier mal
SQL-Code:
Select * FROM table_1
|
Re: TADOQuery will nicht auf Tabelle!
Der ConnectionString und auch den ganzen Code dazu. Tabelle heisst ausserdem nicht table_1 sondern JMF
CCS = 'Provider=SQLOLEDB.1;' + 'Password=%s;' + 'Persist Security Info=True;' + 'User ID=sa;' + 'Initial Catalog=%s;' + 'Data Source=%s'; DBServer = 'OPEL05'; DBName = 'inout'; PW = '****'; procedure TDatMan.DataModuleCreate(Sender: TObject); begin Connect2DB(); end; //================================================== ====================== procedure TDatMan.Connect2DB; var i : Integer; strConnection : string; begin isConnected := true; strConnection := Format( CCS, [PW, DBNAME, DBServer]); for i := 0 to MaxMessages-1 do messages[ i] := ''; idxmsg := 0; with coInout do begin try if Connected then Close; ConnectionString := strConnection; Connected := true; except if Errors.Count <> 0 then for i := 0 to Errors.Count-1 do begin if idxmsg < MaxMessages then begin messages[ idxmsg] := Errors[ i].Description; Inc( idxmsg); end; end; isConnected := False; end; end; end; //================================================== ====================== function TDatMan.HasNewJMFInfo: Boolean; var sql : String; begin if qryJMF.Active then qryJMF.Close(); qryJMF.SQL.Clear(); sql := 'SELECT * FROM JMF'; // WHERE EXPORTIERT = 0'; // try qryJMF.SQL.Add( sql); qryJMF.Open(); // >>>>> hier kommt die Exception <<<<<< result := qryJMF.RecordCount > 0; dsJmf.Enabled := True; { except result := False; end; } end; //================================================== ====================== Gross-/Kleinschreibung hilft nicht!!! |
Re: TADOQuery will nicht auf Tabelle!
Lass dir mal die sichtbaren Tabellen mittels
Delphi-Quellcode:
geben. Was hast Du da?
coInout.GetTableNames
|
Re: TADOQuery will nicht auf Tabelle!
Danke für die gute Idee!
Systemtabellen werden ausgegeben, aber meine JMF nicht! Also vermute ich liegt das am Server bzw. an der Deklaration der Tabelle. Wie komm ich weiter? |
Re: TADOQuery will nicht auf Tabelle!
Zitat:
Kannst Du mit dem Query Analyser mal auf die DB "draufgehen" |
Re: TADOQuery will nicht auf Tabelle!
Also bin schon kräftig am suchen und am mich vertraut machen mit dem SQLExpress Manager. Geiles Teil.
Der sagt mir im Activity Monitor, dass sich mein Delphi Programm am Server angemeldet hat und sagt, daß das Programm mit der Datenbank MASTER verbunden ist. Dein Tipp am Anfang war also gar nicht so schlecht. Gehe also weiter auf Suchstation! |
Re: TADOQuery will nicht auf Tabelle!
Mann muss schon einige Wälder wegschieben um die Bäume zu erkennen.
Hab die Lösung! Es gibt in der TAdoConnection eine Eigenschaft: DefaultDatabase. Die stand natürlich auf master. Es ist nicht mein Tag, also geh' ich jetzt Heim und lass das mit dem Programmieren. Danke für die Unterstützung! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz