• Home
  • Google Plus
  • Facebook
  • Twitter
  • Xing
  • RSS-Feed

Kendaric Dot net

Today I have good news und I have bad news

Kategoriearchiv: SQL

CSV Datei auf SQL-Server importieren

19. Juli 2011 um 20:03 Uhr | Alle, IT, Scripting, SQL | Kendaric

So nach langer Zeit mal wieder ein kleines Script von mir.

Diesmal geht es um den Import einer CSV-Datei in eine SQL-Tabelle.

Bulk
Insert ZIELTABELLE
From ‘c:\QUELLDATEI.csv’
With
(
Fieldterminator = ‘;’,
Rowterminator = ‘\n’
)
Go

Wie man im Script unschwer erkennen kann wird hier als Trennungszeichen zwischen den Spalte das Semikolon verwendet. Dies kann natürlich ohne weiteres verändert werden.

Ansonsten sollte alles selbsterklärend sein.

Keine Kommentare

Probleme mit ntext beim Abfragen einer MSSQL Datenbank mittels PHP

6. Juni 2011 um 19:56 Uhr | Alle, IT, Scripting, SQL | Kendaric

Beim Abfragen einer MSSQL Datenbank mittels PHP Script hatte ich ein Problem mit einer Spalte vom Typ ntext.

Die Ausgabe des PHP Scripts war die ganze Zeit leer. Leider liegt das Problem nicht bei Microsoft sondern auf Seite von PHP.

Die Lösung ist einen View auf der MSSQL Datenbank zu erstellen und die Spalte mittels CAST wie folgt zu behandeln:

Cast(NTEXT_SPALTE As Text)

Achtung: Ein Convert der Spalte in ein Char, Varchar oder Nvarchar gibt nur 256 Zeichen aus.

Ein Kommentar

SQL-Datenbank Abgleich zwischen zwei Servern

5. Mai 2011 um 21:20 Uhr | Alle, IT, SQL, VBScript | Kendaric

Vor ein paar Wochen musste ich einen Abgleich zwischen zwei SQL-Datenbanktabellen machen. Die Datenbanken lagen jedoch auf zwei unterschiedlichen physikalischen Servern.

Da ich im Netz kein reines SQL-Script dazu finden konnte hier meine Lösung.

Es handelt sich dabei um ein VBScript, welches die Quelltabelle abfragt, das erhaltene Recordset durchläuft und Zeile für Zeile in die Zieltabelle schreibt.

‘Variablendeklaration
Dim objSourceCN, strSourceServer, strSourceDatabase, strSourceUser, strSourcePassword, strSourceTable, strSourceIDColumn, strSourceColumn, strSourceSQL
Dim objTargetCN, strTargetServer, strTargetDatabase, strTargetUser, strTargetPassword, strTargetTable, strTargetIDColumn, strTargetColumn, strTargetSQL
Dim objRS

‘Quelldatenbank
strSourceServer = “QUELLSERVERNAME_ODER_IP”
strSourceDatabase = “NAME_DER_QUELLDATENBANK”
strSourceUser = “BENUTZERNAME_FÜR_QUELLDATENBANK”
strSourcePassword = “PASSWORT_FÜR_QUELLDATENBANK”
strSourceTable = “QUELLTABELLE”
strSourceIDColumn = “QUELL_ID_SPALTE”
strSourceColumn = “QUELLSPALTE”

‘Zieldatenbank
strTargetServer = “ZIELSERVERNAME_ODER_IP
strTargetDatabase = “NAME_DER_ZIELDATENBANK”
strTargetUser = “BENUTZERNAME_FÜR_ZIELDATENBANK”
strTargetPassword = “PASSWORT_FÜR_ZIELDATENBANK”
strTargetTable = “ZIELTABELLE”
strTargetIDColumn = “ZIEL_ID_SPALTE”
strTargetColumn = “ZIELSPALTE”

‘Quellconnection
Set objSourceCN = CreateObject(“ADODB.Connection”)
objSourceCN.Open “Provider=SQLOLEDB;Data Source=” & strSourceServer & “;” & “Initial Catalog=” & strSourceDatabase & “;” & “User ID=” & strSourceUser & “;Password=” & strSourcePassword & “;”

‘Zielconnection
Set objTargetCN = CreateObject(“ADODB.Connection”)
objTargetCN.Open “Provider=SQLOLEDB;Data Source=” & strTargetServer & “;” & “Initial Catalog=” & strTargetDatabase & “;” & “User ID=” & strTargetUser & “;Password=” & strTargetPassword & “;”

‘SQL-Abfrage zum Abfragen der Quelldatenbank
strSourceSQL = “Select ” & strSourceTable & “.” & strSourceIDColumn & “, ” & strSourceTable & “.” & strSourceColumn & “ From ” & strSourceTable
‘SQL Abfrage zur Quelldatenbank ausführen
Set objRS = objSourceCN.Execute(strSourceSQL)

‘Gehe das RecordSet
Do Until objRS.EOF

‘SQL-Abfrage zum Ändern der Zieldatenbank
strTargetSQL = “UPDATE ” & strTargetTable & ” SET ” & strTargetColumn & “ = ‘” & objRS(strTargetColumn) & “‘ WHERE ” & strTargetIDColumn & “ = ‘” & objRS(strTargetIDColumn) & “‘”
‘Hilfsausgabe
WScript.Echo strTargetSQL
‘Ausführung SQL-Abfrage zum Ändern der Zieldatenbank
objTargetCN.Execute strTargetSQL
‘Leeren der SQL-Abfrage zum Ändern der Zieldatenbank
strTargetSQL = “”
‘Gehe ein Recordset Wert weiter
objRS.MoveNext

Loop

‘Schieße Verbindung zur Zieldatenbank
objTargetCN.Close
‘Schließe Recordset
objRS.Close
‘Schließe Verbindung zur Quelldatenbank
objSourceCN.Close

Keine Kommentare

© Kendaric Dot net

|

Interpretiert von DesignFalcon und mnfw. Powered by WordPress.