Avatar billede henning-a Nybegynder
31. maj 2007 - 14:51 Der er 1 kommentar og
1 løsning

Kopier tabeller fra MSSQL database til access database, i C++

Hej
Jeg er ved at lave et program i C++ der forbinder til en MSSQL database finder alle de tabeller i en given database der er oprettet af en user og så skal den kopiere dem ind i en access db der ligger lokalt. Men det jeg har lavet indtil nu virker ikke helt efter planen.

[code]
CRecordset *rs = mydbc->NewRS();
CString SQLStr, SQLStr2, table;

SQLStr = "CREATE DATABASE C:\\testing.mdb"
mydbc->m_db.ExecuteSQL(SQLStr);

SQLStr = "SELECT [name] FROM dbo.sysobjects WHERE xtype = 'U'";

rs->Open(AFX_DB_USE_DEFAULT_TYPE, SQLStr);
while (!rs->IsEOF())
{
    rs->GetFieldValue("name", hat);
    SQLStr2 = "SELECT " + table + ".* INTO '" + table + "' IN 'C:\\testing.mdb' FROM " + table;
    mydbc->m_db.ExecuteSQL(SQLStr2);
    rs->MoveNext();
}
[/code]
Der er min kode som den ser ud indtil nu.
Min første SQLstr virker. Den henter alle de tabeller ud som jeg skal bruge/kopiere over i access databasen.
Men jeg mangler at få SQLstr2 til at virke.
Ifølge w3schools.com skulle:
SELECT xxx.* INTO xxx IN 'database.mdb' FROM xxx
virke til at kopiere en tabel ind i en anden database.
Men i SQL Query Analyzer siger den bare:
Server: Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'IN'.

Need help..
Avatar billede arne_v Ekspert
01. juni 2007 - 02:11 #1
Formentligt er den konstruktion ikke understøttet i dit API (som jeg antager er OLE DB).

Du skal nok gang i noget DAO for at kunne bruge den.

Eller simpelthen kode det hele lidt mere manuelt.
Avatar billede henning-a Nybegynder
16. august 2007 - 08:35 #2
fandt ud af det ikke kunne lade sig gøre. Så lige meget.. ellers tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester