Poate un fișier format BCP de tip 8.0 să aibă un nume de coloană care este un cuvânt cheie SQL?

Am un fișier format în care vreau ca una dintre coloane să fie "grup". Sunt auto-generarea fișierului format și un client vrea să încarce un fișier cu "grup" ca una dintre coloane. Aș putea să-l restricționez astfel încât să nu poată utiliza cuvinte cheie SQL, dar apoi am nevoie de o funcție pentru a determina dacă un nume de coloană este un cuvânt cheie SQL, așadar aș vrea să îi ajut pe utilizatorul să-și poată numi clienții oricum doresc. Mă întreb dacă este posibil. Am incercat sa folosesc paranteze, dar asta nu pare sa functioneze. Fișierul meu arată astfel:

8.0
1
1 SQLCHAR 0 0 "\r\n" 1  [group] SQL_Latin1_General_CP1_CI_AS
1

2 răspunsuri

Am testat acest lucru în câteva moduri diferite pe SQL 2005 SP2 (baze de date țintă în ambele moduri de compatibilitate 80 și 90) și funcționează bine pentru mine folosind versiunea SQL 2005 a bcp.

Cu toate acestea, am testat-o, de asemenea, cu versiunea SQL 2000 a bcp, și care a eșuat cu

Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'group'.

ceea ce cred că este ceea ce primești.

Puteți actualiza sistemul în care executați bcp pentru a utiliza instrumentele client SQL 2005?

Dacă credeți că ați actualizat deja, verificați variabila de mediu PATH pentru a confirma acest lucru

C:\Program Files\Microsoft SQL Server\90\Tools\binn\

(ajustat pentru instalare) apare înainte

C:\Program Files\Microsoft SQL Server\80\Tools\BINN

în caz contrar, instrumentele din linia de comandă SQL 2000 vor fi folosite în preferința SQL 2005

1
adăugat

Pe MS SQL, puteți utiliza o cheie SQL ca nume de coloană dacă o puneți în cotație.

Example: SELECT id, "group" FROM myTable

0
adăugat