Solved

How to connect SQL database to a certain Server

Posted on 2008-11-03
3
194 Views
Last Modified: 2010-04-21
Hi,

After installing my application including SQL Server 2005, the database will be created.
How can I connect the created SQL database to the SQL Sever from with Delphi (by code)?

Regards,
Stef
0
Comment
Question by:Delphiwizard
  • 2
3 Comments
 
LVL 18

Accepted Solution

by:
Johnjces earned 500 total points
ID: 22867064
Here is some code  I got somewhere, (credit is noted) that uses ADO. Hopefully you are using ADO.

John


/************************************

//Attach and detach an MSSQL database

//or MSDE using ADO in Delphi 7.

//

//by Joseph Fuchaka Barasa

//jfuchakab@yahoo.com

//

//Helps one to work with database objects

//(tables, queries, stored procedures

//etc) using free version of MSDE.

//without using the costly Enterprise

//version of the database.

************************************/

procedure detach_database;

var

strcommand, detachedDB: string;

begin
 

  detachedDB:=trim(EditDetachedBName.Text);//database name

  strcommand:='EXEC sp_detach_db @dbname = '+detachedDB+'';//detaching

  with AttachConn do begin//AttachConn is ADOConnection

    close;//attach on the master system database.

    //computer_name is the name of your computer

    ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='+'master'+';Data Source='+computer_name+'';

    open;

  end;//with attachconn

   with qryDetach do begin//qryDetach is AdoQuery

        close;

        sql.Clear;

        sql.Text:=strcommand;

        try

          ExecSQL;

          ShowMessage('Detach was Successfull');

        Except on E:Exception do begin

          Showmessage('Error Dettaching the Database');

          Application.Terminate;

        end;

        end;//try - except

   end;

   end;//detach
 
 
 

procedure attach_database;

var

  strcommand, dbase_Name, file1, file2: string;
 

begin

  //database name

  dbase_Name:=trim(EditAttachedDBase.Text);

  file1:=trim(EditDatabaseFIle.Text);//database file

  file2:=trim(EditLogFile.Text);//log file

  with AttachConn do begin

    close;//connect to master system database

    ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='+'master'+';Data Source='+computer_name+'';

    open;

  end;//with attachconn
 

  //sql commands for attaching

  strcommand:='EXEC sp_attach_db @dbname = '+dbase_Name+', ';

  strcommand:=strcommand + '@filename1 = "'+File1+'"'+', ';

  strcommand:=strcommand + '@filename2 = "'+File2+'"'+'';

   with qryAttach do begin

        close;

        sql.Clear;

        sql.Text:=strcommand;

        try

          ExecSQL;

          ShowMessage('Database Successfully attached');

        Except on E:Exception do begin

          Showmessage('Error Attaching the Database');

          Application.Terminate;

        end;

        end;//try - except

   end;//with query attach
 

end; 

Open in new window

0
 

Author Closing Comment

by:Delphiwizard
ID: 31512660
Thank you very much!
0
 
LVL 18

Expert Comment

by:Johnjces
ID: 22867347
Glad I could help this AM! Thanks!

John
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
So every once in a while at work I am asked to export data from one table and insert it into another on a different server.  I hate doing this.  There's so many different tables and data types.  Some column data needs quoted and some doesn't.  What …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now