2016-04-27 14 views
0

SQL Server schreiben Skript schreiben:schnellste Weg zur Datenbank von Skript

sqlCommand = "INSERT INTO ... 

ds = DatabaseDataSource(DatabaseDataSourceSettings("System.Data.SqlClient","Server=xxx;Database=xxx;UID=xxx;PWD=xxx",sqlCommand)) 

#execute by creating a temp table with db source, then drop table 
newDataTable = Document.Data.Tables.Add("temp",ds) 
Document.Data.Tables.Remove(newDataTable) 

jedoch eine leichte Verzögerung bei dieser Methode ist. Ist es möglich, dies zu tun, ohne eine temporäre Tabelle zu erstellen?

+0

Haben Sie mit parametrisierte Informationen Links betrachten, indem die ursprünglichen SQL-Modifikation und Insert-Anweisungen voranstellen? – jleviaguirre

+0

Kurz haben Sie ein Beispiel? Glaubst du, dass das schneller geht? – flux

+0

Sie können Informationslinks verwenden, um zurück in die Datenbank zu schreiben, wenn Sie das versuchen. Erstellen Sie einfach Ihre Update-Anweisung mit der SQL-Schaltfläche unter den Vor-Updates oder Post-Updates. Stellen Sie sicher, dass Sie mithilfe der Abfrageoption etwas zurück an Spotfie senden. Die Optionsfelder sind irreführend. Sie sollten Tabs sein, weil Sie vielleicht denken, dass es einen oder den anderen, aber nicht alle ausführen wird. Beispiel: update dev.myTable set status =? status, kommentar_text =? kommentar, USERNAME = '% CURRENT_USER%' wo itemId in (? selectedIds) und setze deine Parameter (falls vorhanden) im Parameter-Bereich – jleviaguirre

Antwort

0

Ich dachte, ich würde meine eigene Frage von vor langer Zeit beantworten. Es ist möglich, die Spotfire-Bibliotheken und verwendet .NET System.Data.SqlClient für eine viel schnellere Ausführung mit diesem einfachen Skript zu vermeiden:

import clr, datetime 
clr.AddReference('System.Data') 
from System.Data import SqlClient 
from System import Threading, DateTime 

sql = "INSERT INTO ...." 

conn = SqlClient.SqlConnection("Server=;Database=;UID=;PWD=") 
conn.Open() 

cmd = SqlClient.SqlCommand(sql, conn) 
exe = cmd.ExecuteReader() 

exe.Close() 
conn.Close() 
Verwandte Themen