[VC++] Microsoft SQL Server -> Datenbank anlegen

the incredible Leitman

Erfahrenes Mitglied
Hallo Leute ^^

Ich hab ein Problem -.-
Wollte im Visual Studio ein Projekt erstellen, mit dem ich eine Datenbank erstellen kann...

Leider hab ich absolut keine Ahnung, wie ich dabei vorgehen muss :(

Wie gesagt, ich habe VS 2005 auf dem Rechner... und im Startmenu unter Programme auch einen Punkt "Microsoft SQL Server 2005", also nehme ich mal an, dass mein Vorhaben theoretisch möglich ist.

Ich erstelle also einfach ein neues Projekt als "SQL Server Project".
Danach geht ein Dialog "New database reference" auf, in dem ich Informationen über die Connection eingeben soll....

Leider weiß ich erstens nicht, was ich dort so alles definieren muss
und zweitens, wenn ich als Werte "local" für den Server Name und "database" für die Datenbank eingebe erscheint eine Fehlermeldung, dass die Connection nicht hergestellt werden konnt, weil der SQL Server anscheinen falsch konfiguriert ist (Bild im Anhang)

Wie muss ich da was einstellen? o_O
Wie gesagt, ich kenn mich leider überhaupt nicht aus -.-

Hoffe mir kann irgendjemand weiterhelfen

Danke Leute

EDIT:
Ergebnis meiner Foren Suche: http://www.tutorials.de/forum/relat...2-mssql/238595-sql-server-2005-connecten.html
-.-
Auch nicht unbedingt hilfreich -.-
 

Anhänge

  • error.jpg
    error.jpg
    10,8 KB · Aufrufe: 290
Zuletzt bearbeitet:
Ich bin gestern nach stundenlanger Sucher einen Schritt weiter gekommen...

Auf der MSDN (http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277) wird erklärt, wie man den SQL Server konfigurieren kann, damit Remote Connections erlaubt werden.

Dies hab ich gemacht...

Anschließend hab ich in stundenlanger Spielerei, im Server Explorer in Visual Studio eine Connection mit SQL Express, sowie eine Datenbank (MyDatabase#1 mit 2 Tables) und eine zweite (newDB, leer) erstellt.
Wenn ich im Server Explorer die Connection test, sowie herstelle, kein Problem.

Aber sobald ich das ganze programmatisch ausführen möchte,bekomme ich immer einen Fehler.
Mein Code:
C++:
SqlConnection ^connection = gcnew SqlConnection("Data Source = m9700\\SQLEXPRESS;" +
	//"Initial Catalog=J:\\Projekte\\CashStacks\\MyDatabase#1;" +
	//"Initial Catalog=newDB;" +
	"Initial Catalog=J:\\Projekte\\CashStacks\\newDB;" +
	"Integrated Security=True"); 

connection->Open();

m9700 ist der Name meines Computers, SQLEXPRESS, da ich die Express Version verwende.
Initial Catalog ist, wenn ich das richtig verstanden habe, der Name der Datenbank oder?

Wenn ich diesen Parameter weglasse, also "Initial Catalog..." bekomm ich keinen Error.
Doch sobald ich eine Datenbank angebe, bekomme ich eine Fehlermeldung,
dass die angegebene Datanbank nicht geöffnet werden konnte --> Login failed.

Ich habe die Datenbank jedoch nicht passwortgeschützt,
sie liegt im selben Ordner und ist ein .sdf file.

Ist daran irgendetwas falsch?

Bitte, kann mir jemand helfen pls -.-
 
Zuletzt bearbeitet:
Hm... irgendwie war mir diese Community bisher keine große Hilfe >.<

Kann mir wirklich niemand helfen?

Habs mittlerweile sogar schon zusammengebracht, eine Datenbank lokal zu erstellen...
Leidr weiß ich nicht genau, wie das funktioniert hat...

Wenn ich keinen Pfad angebe, wird die Datanbank und das Log file direkt im Ordner des SQLServers kopiert...
Mit Pfad, wir die Datenbank am angegebenen Ort erstellt... soweit ist mir das klar...

Jedoch, wenn die Datenbank erst einmal steht, muss ich keinen Pfad, sondern lediglich den Namen der DB angeben... wie funktioniert das? o_O
Wo wird die Datenbank registriert?

Wie kann ich die DB und das Programm dann auf einem anderen Rechner laufen lassen?
--> Kein Server, lokaler PC!

Die Connection zur DB stelle ich folgendermaßen her:
C++:
m_DBName = "AnotherDB";
...
m_Conn = gcnew SqlConnection 
	("Data Source = " + System::Windows::Forms::SystemInformation::ComputerName + "\\SQLEXPRESS;" +
	"Initial Catalog = " + m_DBName + ";" +
	"Integrated Security = True");
m_Conn->Open();

Dabei habe ich auch das Problem... wenn ich "DataSource = localhost" schreibe,
bekomme ich den im ersten Post genannten Fehler o_O :confused:
Wieso das? In beinahe allen MSDN Anleitungen und Hilfestellungen wird das auf diese Weise beschrieben... Liegt das eventuell daran, dass ich SQLExpress installiert habe?


Hoffe, mir kann dieses Mal irgendjemand meine Fragen beantworten, bzw. mich zumindest weiterleiten, dann suche ich mir die benötigten Informationen schon zusammen...
Aber ich selbst komme mit Google oder der Forum Suche nicht weiter...
denn entweder wird überall PHP oder MySQL behandelt... aber das brauch ich nicht -.-

Also bitte... Norbert?
Cosmo?
...wo sind denn die ganzen Genies?

mfg
the incredible Leitman
 
Hm...
entweder mögt ihr mich nicht,
oder ich versuche da etwas zusammenzufrickeln das so ganz falsch ist ? o_O

Hab über die Feiertage nicht viel gemacht,
aber heute sitze ich schon wieder etliche Stunden vorm Rechner, lese mich durch zig MSSQL Tutorials aber komme einfach nicht vom Fleck -.-

Prinzipiell sind die Datenbank und die Tables auf meinem Rechner lauffähig, SQL Server Express kann ich am Zielrechner installieren...
Jedoch die Datenbank und mein Programm auf den anderen Rechner bringen,
das klappt einfach nicht -.-

Wie muss ich da vorgehen?
Kann ja nicht sein, dass das noch niemand gebraucht hat oder? :confused:
Ich möchte lediglich ein Programm, welches eine MSSQL DB verwendet auf einen anderen Rechner übertragen.... kein zentraler Server, nur ein Benutzer...
und ich komm einfach auf keinen grünen Zweig -.-

Bitte kann mir denn wirklich niemand einen Tipp geben?
*seufz*

PS: weiß vl jemand, mit welchem SQL Statement ich alle Tables in einer DB anzeigen kann? Ich denke, ich hab nämlich bei der Erstellung meiner Tables und DB einen Murks zusammeneschustert, nun würde ich gerne wissen, wieviele Tables in meiner DB vorhanden sind und wie diese heißen...
Prinzipiell hole ich mir meine Infos aus der MSDN:
http://technet.microsoft.com/en-us/library/ms173451.aspx
jedoch da ich nicht weiß, wonach genau ich suchen soll, finde ich nicht viel -.-
Dachte an soetwas wie "show Tables" oder einfach "tables"...

mfg
the incredible Leitman
 
Hey,

Sorry wenn ich jetzt nicht die erhofften Antworten/Tipps liefern kann aber: ich denke nicht das dich keiner mag, kann es sein das du es in dem "falschem" Forum gepostet hast?

Es geht hier um C++/CLI, auch wenn das etwas mit den Datenbanken zu tun hat, mit dem Microsoft Visual C++ Express und das kommt (soviel ich weiß) in folgendes Forum .NET->Windows Forms. Ich denke das da dann auch Norbert etc. sein werden.

Ich hoffe das du da mehr Antworten bekommst/findest.

Einen Guten Rutsch

Gruß
Rudolf
 
Hm... danke erstmal... aber denkst du echt? o_O

Ich meine, schließlich möchte ich ja eine Datenbank auf einen anderen Rechner kopieren...
Dabei wär es doch egal, ob ich die Anwendung welche die DB verwendet in C++, C+ oder VB programmiert habe oder?

trotzdem danke erstmal, ich werd das eroieren ^^
und dir auch noch einen guten Rutsch und viel Erfolg im neuen Jahr :D

PS:
Heißt das, DU magst mich? ;p
 
Ich stimme da auch Rudolf zu. ;)
Ich sehe das Forum hier, als Forum für Probleme mit Datenbanken an sich.
Als läuft die Datenbank, wie kann man Perfomance optimieren und natürlich wie bekomme ich die Daten in der Datenbank so raus wie ich wünsche.

Für ne Verbindung zu einer Datenbank aus einem selbstgeschriebenen Programm heraus würd ich auch im jeweiligen Forum der entsprechenden Programmiersprache posten.

Nichts für ungut und nen guten Rutsch.
 
So, ich verschieb den Thread jetzt mal einfach ins .NET Forum, weil dort vielleicht mehr Anworten kommen.

Zu dem was bisher hier steht:

SDF: SQL Server Compact Edition -> D.h. du musst da mit den eigenen Libraries drauf zugreifen.

Und was genau willst du jetzt wirklich machen?
 
@ Rudolf:
puh... ok, dann bin ich raus ;)
hehe, ich mag dich auch ^^

@ Norbert:
ok, dann vielen Dank... für mich sah das ziemlich passend aus,
aber so gesehen hast du Recht :D

Naja, ich habe auf meinem Notebook eine Simple Anwendung in VC++ (MSVS 2005) erstellt, die eine Datenbank verwendet,
Diese habe ich mit dem MS SQL Server 2005 Express erstellt (Code für die Connection siehe weiter oben).

Auf meinem Rechner kann ich die Datenbank und die Tables ohne Probleme verwenden,
jedoch wie bekomme ich die Anwendung und die Datenbank, so wie sie ist auf einem anderen Rechner zu laufen?

Ich habe bereits SQL Server (dieselbe Version wie auf meinem Rechner) installiert und die Anwendung sowie die Datenbank ebenfalls auf den Zielrechner kopiert...

Die Anwendung kann ich ausführen, doch sobald ich mich zur Datenbank connecten will, erhalte ich einen Fehler (angehängter Screenshot)
Wie kann ich überhaupt die Datenbank auf dem Zielrechner installieren?
Bzw. muss ich die irgendwie, irgendwo registrieren?

Ich mein, prinzipiell gebe ich innerhalb meiner Anwendung keinen Pfad an, woher soll das Programm wissen, wo sich die DB befindet?
 

Anhänge

  • DBError.JPG
    DBError.JPG
    92,6 KB · Aufrufe: 252

Neue Beiträge

Zurück