sql-script in vb .net einbinden (volltextkatalog)

  • VB.NET
  • .NET 4.5

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Quark.

    sql-script in vb .net einbinden (volltextkatalog)

    Neu

    Guten Morgen,

    ich habe ein Script geschrieben, welches einen Volltextkatalog und anschließend eine Volltextindexierung anlegt. Im MS SQL funktioniert es einwandfrei. Nun wollte ich es
    in mein Programm einbauen, welches ich in vb .net geschrieben habe.

    VB.NET-Quellcode

    1. Dim scriptFile As String
    2. scriptFile = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Assemblies", "Test.sql")
    3. If File.Exists(scriptFile) Then
    4. Dim fileInfo As New FileInfo(scriptFile)
    5. Dim script As String = fileInfo.OpenText().ReadToEnd()
    6. Using conn As New System.Data.SqlClient.SqlConnection("ConnectionString")
    7. Dim server As New Microsoft.SqlServer.Management.Smo.Server(New ServerConnection(conn))
    8. Try
    9. server.ConnectionContext.ExecuteNonQuery(script)
    10. Catch [error] As Exception
    11. MessageBox.Show("Fehler bei der Ausführung des Scripts",
    12. "SQL-Server Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
    13. End Try
    14. End Using
    15. End If

    Wenn ich es ausführe, erscheint das kleine Plus neben dem Volltextkatalog (wie bei der manuellen Ausführung in MS SQL auch) und verschwindet dann sofort wieder wenn ich den Katalog anzeigen lassen will.

    Dann habe ich es damit versucht:

    VB.NET-Quellcode

    1. Dim skript As String = String.Empty
    2. Dim Process_Volltext As New Process
    3. skript = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Assemblies", "TEST.sql")
    4. Try
    5. Process_Volltext.StartInfo.FileName = "C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\sqlcmd"
    6. Process_Volltext.StartInfo.Arguments = "-U sa -P " & SW_Info.password & " -S .\TESTFILE-i " & Chr(34) & skript & Chr(34) '"-S .\TESTFILE-i " & Chr(34) & skript & Chr(34)
    7. Process_Volltext.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    8. Process_Volltext.Start()
    9. Catch ex As Exception
    10. MsgBox(ex.ToString)
    11. End Try


    Selbes Ergebnis. Der Katalog lässt sich nicht öffnen.
    Weiß jemand um dieses Problem oder hat einen Ansatz wo mein Fehler liegen könnte?

    Viele Grüße und danke im Vorraus!
    hjerteblod

    Neu

    Hallo,
    Wenn ich das so kurz überfliege würde mir das ins Auge stechen...
    kann es vieleicht sein das du eine Leerstelle vor den "-U ...." Argumenten vergessen hast ??

    Process_Volltext.StartInfo.Arguments = " -U sa -P " & SW_Info.password & " -S .\TESTFILE-i " & Chr(34) & skript & Chr(34) '"-S .\TESTFILE-i " & Chr(34) & skript & Chr(34)
    __________________________________________
    mfG.

    André

    __________________________________________
    Angewandte Entwicklungsumgebung: Visual Studio 2019,
    C#, SQL, JAVA, VB(A).NET, DATENBANKEN aller Art,
    Access alle Versionen