2017-03-16 3 views
2

Ich bin mit SQLCMD (SQL-Eingabeaufforderung) Daten in CSV zu exportieren, aber es ist eine Zugangskontrolle in Verbindung stehende Ausgabe werfen:SQLCMD zu exportieren Daten in CSV

Fehler bei der Anmeldung für den Benutzer ‚MEA Name \ Benutzername‘. ... Die Datenbank "C: \ ABC.mdf" kann nicht geöffnet werden. Benutzer (Benutzername) hat jedoch bereits die vollständige Zugriffssteuerung für diese Datenbank bereitgestellt.

Unten ist mein Code:

Dim ServerName As String = System.Net.Dns.GetHostName() 

Dim DoubleQuote As String = Chr(34) 

Dim DatabaseName As String = DoubleQuote & "C:\Giv 15Mar2017\WindowsApplication1_Givaudan_new\WindowsApplication1_Givaudan_new\WindowsApplication1\Database\ABC.mdf" & DoubleQuote 

Dim QueryToExceute As String = DoubleQuote & "set nocount on;Select * from EKPO" & DoubleQuote 

Dim ExportFileName As String = "C:\Data\TableData.csv" 

Dim QueryToExceute1 As String = DoubleQuote & "set nocount on;Select * from EKPO" & DoubleQuote 

Dim ExportFileName1 As String = "C:\Data\TableDataCorrection.csv" 

Dim Process = New Process() 
Process.StartInfo.UseShellExecute = False 
Process.StartInfo.RedirectStandardOutput = True 
Process.StartInfo.RedirectStandardError = True 
Process.StartInfo.CreateNoWindow = True 
Process.StartInfo.FileName = "SQLCMD.EXE" 

Process.StartInfo.Arguments = "-S " & ServerName & " -d " & DatabaseName & " -E -Q " & 
QueryToExceute1 & " -o " & ExportFileName & " -s""|"" -W" 

Process.StartInfo.WorkingDirectory = "C:\Data" 

Process.Start() 
Process.WaitForExit() 

Antwort

0

Sie haben nicht MDF Pfad angeben Datenbankname.

sqlcmd -S "YOURSERVER\YOURINSTANCE" -d YOURDATABASENAME 

Auch wenn Sie verwenden LocalDb Sie können nicht direkt Zugriff auf MDF-Datei, aber Sie haben diese sintax verwenden:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d YOURDATABASENAME