Welcome to Sign in | Help
in Search

Import .dbf in SQL Server 2005

Last post 04-17-2008, 8:17 PM by xmldeveloper. 20 replies.
Page 1 of 2 (21 items)   1 2 Next >
Sort Posts: Previous Next
  •  11-27-2006, 4:49 PM 1078

    Import .dbf in SQL Server 2005

     Poate ma ajuta cineva cu un script micut de import al unui fisier .dbf in SQL Server !!

     Stiu ca se face cu OPENROWSET dar n am reusit !!

     
     Multumesc !
     


    MCSE;MCITP
    Filed under:
  •  11-27-2006, 4:54 PM 1079 in reply to 1078

    Re: Import .dbf in SQL Server 2005

    Salut George,

    Vezi aici http://sqlserver.ro/forums/thread/868.aspx


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  11-27-2006, 5:21 PM 1080 in reply to 1079

    Re: Import .dbf in SQL Server 2005

    ""
    Exista mai multe optiuni de a obtine datele dintr-un dbf printre care:

    1. Definiti un linked server si interogati direct datele din DBF.

     fisierul .dbf este pe Desktop de ex. .... ce link server sa fak ? 

    2. Folosind SQL Server Integration Services.

     nu reusesc ..... ce dau la data sources-> provider dak fisierul se afla pe desktop ?? 

    3. Folosind OPENROWSET

    SELECT * FROM OPENROWSET(
       'MSDASQL', == 'SQL2005' (serverul meu de SQL) => Msg 7403, Level 16, State 1, Line 2
    The OLE DB provider "SQL2005" has not been registered.


       'Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\MyDbfFiles\',
       'Select * from MyTableName')  
    ""
     

     Spune mi te rog unde gresesc ... merci mult !!

     

      Pana la urma am fakut o magarie . Am down un programel care face conversie .dbf2.xls si apoi import in SQL !!  .... ideea e ca dak ma duk la clinet nu pot sa ma apuk de instalat programele si atunci ce fak ??

     
    Merci !
     


    MCSE;MCITP
  •  11-27-2006, 6:10 PM 1083 in reply to 1080

    Re: Import .dbf in SQL Server 2005

    Am descarcat primul fiser dbf gasit cu google pe net si l-am pus in folder-ul C:\Temp\DBFFolder.

    Am reusit sa vad continutul unui tabel cu urmatoarea comanda:

    SELECT * FROM OPENROWSET(
       'MSDASQL',
       'Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\TEMP\DBFFolder\',
       'SELECT * FROM FREE);

     Unde FREE era numele tabelului.


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  11-28-2006, 9:09 AM 1087 in reply to 1083

    Re: Import .dbf in SQL Server 2005

    La openrowset trebuie specificat connection stringu catrte sursa de date oledb sau odbc la care vreau sa ma conectez.In cazul de fata din ce am vazut eu se incearca conexiunea oledb.Intrebarea mea e cum se formeaza acest string de conectare prin oledb care sunt componentele?

    Multumesc


    Secolul XXI ori va fi religios ori nu va fi deloc
  •  11-28-2006, 11:32 AM 1089 in reply to 1087

    Re: Import .dbf in SQL Server 2005

    SELECT * FROM OPENROWSET(
       'MSDASQL',
       'Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\Temp\',
       'Select * from import');

    Msg 15281, Level 16, State 1, Line 1


    SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.


    MCSE;MCITP
  •  11-28-2006, 11:41 AM 1090 in reply to 1089

    Re: Import .dbf in SQL Server 2005

    Dupa ce am executat din books online ::

    sp_configure 'show advanced options', 1;
    GO
    reconfigure;
    go
    sp_configure 'Ad Hoc Distributed Queries',1;
    go
    reconfigure;
    go
     

    Msg 7399, Level 16, State 1, Line 1
    The OLE DB provider "MSDASQL" for linked server "(null)" reported an error. The provider did not give any information about the error.
    Msg 7350, Level 16, State 2, Line 1
    Cannot get the column information from OLE DB provider "MSDASQL" for linked server "(null)".

    Sunt in ceata ! Pls HELP !! 


    MCSE;MCITP
  •  11-28-2006, 1:01 PM 1093 in reply to 1090

    Re: Import .dbf in SQL Server 2005

    Exista un fisier dbf in directorul specificat?

    Exista tabela import in acel fisier?


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  11-28-2006, 2:02 PM 1097 in reply to 1093

    Re: Import .dbf in SQL Server 2005

     Deci eu am un fisier import.dbf la acea locatie !! De unde sa stiu eu ce tabele exista in el?? Eu vreau sa import toate tabelele din import.dbf intr o baza propie de SQL, TESTE de exemplu !! Cum fak ??

     
    Merci !

     

     


    MCSE;MCITP
  •  11-28-2006, 3:34 PM 1100 in reply to 1097

    Re: Import .dbf in SQL Server 2005

    Un fisier dbf contine un singur tabel atat ,nu mai multe!


    Secolul XXI ori va fi religios ori nu va fi deloc
  •  11-28-2006, 3:45 PM 1102 in reply to 1100

    Re: Import .dbf in SQL Server 2005

    k.... si dak numele fisierului este import.dbf ....deduc ca si numele tabelului este tot import nu ?? ..... cum pot afla altfel numele tabelului  ??

    n am lucrat niciodata cu .dbf-uri .... n am idee cu ce se mananca ! stiu doar ca trebuie sa l import in SQL si nu inteleg de ce voi cei cu atata experienta nu mi postati si mie un script explicit !! eu am tot incercat dar m am lovit de tot felul de erori !!

     

    Multumesc ! 


    MCSE;MCITP
  •  11-28-2006, 4:07 PM 1103 in reply to 1097

    Re: Import .dbf in SQL Server 2005

    Mentiune pentru cei care nu au lucrat cu DBF-uri pana acum: intr-un fisier DBF exista o singura tabela.

    Instructiunea scrisa de Cristi ar trebui sa functioneze. Daca nu merge, probabil e o problema de drepturi: in mod implicit, SQL Server ruleaza sub account-ul NetworkService, care nu are drepturi peste tot in calculatorul propriu. Poti sa-l schimbi sa ruleze sub LocalSystem, dar nu e recomandabil (deoarece are drepturi de administrator pe calculatorul respectiv si nu are drepturi deloc in retea) sau sub un user account local sau din domeniu, caruia ii dai drepturi exact cat e nevoie.

    Razvan

  •  11-28-2006, 4:44 PM 1104 in reply to 1103

    Re: Import .dbf in SQL Server 2005

     Dak te uiti 6 posturi mai sus ai sa observi ca erorile nu sunt de securitate ! Am drepturi depline .... serverul este pe o masina virtuala creata de mine !

     Deci , revin cu intrebarea :: am un fisier import.dbf in c:\Temp si vreau sa l import intr o BD Teste in SQL Server 2005 !! AM rulat ::

    sp_configure 'show advanced options', 1;
    GO
    reconfigure;
    go
    sp_configure 'Ad Hoc Distributed Queries',1;
    go
    reconfigure;
    go

    SELECT * FROM OPENROWSET(
       'MSDASQL',
       'Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\Temp\',
       'Select * from import');

     
    si am obtinut ::

    Msg 7399, Level 16, State 1, Line 1
    The OLE DB provider "MSDASQL" for linked server "(null)" reported an error. The provider did not give any information about the error.
    Msg 7350, Level 16, State 2, Line 1
    Cannot get the column information from OLE DB provider "MSDASQL" for linked server "(null)".

     
    Imi poate spune cineva unde gresesc ?? Nu a mai fakut nimeni un astfel de import ??

     
    Merci !
     


    MCSE;MCITP
  •  11-28-2006, 5:20 PM 1105 in reply to 1104

    Re: Import .dbf in SQL Server 2005

    Jourjaque:

     Dak te uiti 6 posturi mai sus ai sa observi ca erorile nu sunt de securitate ! Am drepturi depline .... serverul este pe o masina virtuala creata de mine !

    Hmm... m-am uitat mai sus, dar nu am vazut unde ai scris sub ce account ruleaza SQL Server-ul. Oricum, daca ai configurat in SQL Server Configuration Manager, la properties pe instanta ta de SQL Server, la "Log on as:" un account care are drepturi suficiente in directorul respectiv, atunci mai am un alt sfat: verifica numele scurt al fisierului respectiv, cu comanda DOS DIR /X.

    De exemplu, daca in directorul C:\DBF numele fisierului este cursvalutar.dbf, atunci numele scurt ar putea fi CURSVA~1.DBF, si ar trebui folosita comanda

    SELECT * FROM OPENROWSET(
       'MSDASQL',
       'Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\DBF',
       'SELECT * FROM [cursva~1]');

    Iar raspunsul la intrebarea ta "Nu a mai fakut nimeni un astfel de import ??" este: ba da, eu am facut chiar astazi un test si la mine merge.

    Razvan

  •  11-28-2006, 6:01 PM 1107 in reply to 1105

    Re: Import .dbf in SQL Server 2005

    Si daca te uiti si mai sus si eu am facut un import si merge Smile

    Poti incerca sa adaugi un linked server si sa vezi tabelele in SQL Server Management Studio:

    USE master;
    GO
    EXEC sp_addlinkedserver
    'DBFs',
    'Jet 4.0',
    'Microsoft.Jet.OLEDB.4.0',
    'C:\TEMP\DBFFolder',
    NULL,
    'dBase IV';
    GO

    exec sp_addlinkedsrvlogin
    @rmtsrvname = 'DBFs',
    @useself = false,
    @locallogin = NULL,
    @rmtuser = NULL,
    @rmtpassword = NULL;
    GO

    Sau dupa ce ai definit serverul poti rula urmatorul cod pentru a obtine o lista cu tabelele disponibile:

    EXEC sp_tables_ex 'DBFs'; 

     


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
Page 1 of 2 (21 items)   1 2 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems