sql

Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage nur auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden.
6
Antworten

SQL: Gibt es eine Möglichkeit, die durchschnittliche Anzahl von Zeichen für ein Feld zu erhalten?

Gibt es eine einfache SQL-Abfrage, die mir helfen kann, die durchschnittliche Anzahl von Zeichen zu bestimmen, die ein (Text-) Datenbankfeld hat? Zum Beispiel heißt mein Feld "Nachricht". Idealerweise würde ich gerne so etwas machen ... %Vo...
28.01.2011, 14:17
4
Antworten

Prüfe, ob eine Zeit zwischen zwei Zeiten liegt (Zeit DataType)

Ich habe eine Tabelle mit einer Spalte "Created" als Datetime. Ich versuche zu überprüfen, ob die Zeit für den Created-Wert zwischen zwei Zeiten liegt. Das Created datetime für die erste Zeile ist '2013-07-01 00: 00: 00.000' (Mitternacht)...
01.07.2013, 14:55
6
Antworten

___ answer247258 ___

Es gibt keinen großen Overhead, da Pools standardmäßig im Verbindungspool gespeichert werden. Wenn Sie also eine Verbindung öffnen, erhalten Sie oft eine fertige Verbindung aus dem Pool. Das Erstellen von SqlConnections hat mir keine Probleme bereitet.

    
___ answer247254 ___

Wenn Sie die gleiche Verbindungszeichenfolge verwenden, werden Ihre Verbindungen gepoolt. Sie sollten nur so lange eine Verbindung geöffnet haben, wie Sie sie benötigen.

    
___ answer247287 ___

Ich hatte den gleichen Gedanken, also benutzte ich die gleiche Verbindung in einer engen Schleife, um zu verhindern, dass ich eine andere instanziieren musste, wenn ich sie brauchte. Aber manchmal ist es schwer, den Überblick zu behalten und zu debuggen. Wenn Sie einen DataReader von der Verbindung trennen und dann versuchen, einen anderen zu starten, während derselbe Reader noch aktiv ist, erhalten Sie eine Ausnahme. Also, ich würde es nur empfehlen, wenn es wirklich häufig wie eine enge Schleife ist, sonst ist es die Mühe nicht wert.

    
___ answer247667 ___

Dies ist im Allgemeinen keine gute Sache (Sie könnten ein Leck verursachen und schließlich keine Verbindungen mehr haben), sondern verlassen sich stattdessen auf den Verbindungspool für die Leistung und öffnen Verbindungen nach Bedarf und schließen Verbindungen so schnell wie möglich.

Bill Vaughn hat eine Reihe nützlicher Artikel über Verbindungspooling und Datenzugriff einschließlich diesem

    
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ tag123sql ___ Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage nur auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden. ___ tag123adonet ___ ADO.Net wird häufig von Programmierern verwendet, um auf Daten in relationalen Datenbanksystemen zuzugreifen und diese zu ändern. Es kann jedoch auch auf Daten in nicht relationalen Quellen zugreifen. Es ist ein Teil der Basisklassenbibliothek, die in Microsoft .NET Framework enthalten ist. ___ qstntxt ___

Es scheint, als ob viel Aufwand beim schnellen Öffnen und Schließen von SQL-Verbindungen anfällt. Soll ich eine Verbindung bestehen lassen (eine, pro Client, pro Datenbank), oder ein neues sqlconnection-Objekt immer dann deklarieren, wenn ich es brauche, und dafür sorgen, dass ich nach mir aufräume?

Was hast du getan? Was hat gut funktioniert und was hat schlecht funktioniert?

    
___ answer247805 ___

Jahrelang haben wir den Client eine einzige persistente Verbindung zur Datenbank behalten. Das Problem tritt auf, wenn ein unterbrochener Verbindungsfehler erkannt und die Verbindung ordnungsgemäß wiederhergestellt wird. Oftmals werden Sie nicht wissen, dass eine Verbindung fehlgeschlagen ist, bis Sie versuchen, sie zu verwenden (d. H., Ein select wird einen 'Allgemeinen SQL-Fehler' auslösen)

Wir verwenden jetzt eine global verfügbare statische Klasse, deren Aufgabe es ist, Ihnen eine neue Verbindung zur Datenbank zu geben, und wenn Sie damit fertig sind, verwenden Sie dieselbe Klasse, um die Verbindung loszuwerden.

%Vor%

Wir tun dies, weil eine Initialisierung erforderlich ist, wenn wir eine Verbindung zur Datenbank herstellen (wir speichern Informationen in CONTEXT_INFO von SQL Server und müssen diese Informationen beim Trennen der Verbindung leeren)

    
___ answer247293 ___

In den meisten Fällen übernimmt das .NET-Verbindungspooling dies für Sie. Auch wenn Sie Verbindungen über Code öffnen und schließen, passiert das nicht hinter den Kulissen. Wenn Sie eine Verbindung instanziieren und öffnen, sucht .NET nach einer vorhandenen Verbindung im Verbindungspool mit der gleichen Verbindungszeichenfolge und gibt Ihnen stattdessen diese Verbindung. Wenn Sie die Verbindung schließen, wird sie zur zukünftigen Verwendung im Verbindungspool wiederhergestellt.

Wenn Sie SQL Server verwenden: Ссылка

OLE DB, ODBC, Oracle: Ссылка

Dino Esposito Artikel: Ссылка

Sie können das standardmäßige Pooling-Verhalten mit Verbindungszeichenfolgenname / -werten überschreiben: Ссылка . Sehen Sie sich die zweite Tabelle der Einstellungen an, die 'Connection Lifetime' enthalten.

    
___

Es scheint, als ob viel Aufwand beim schnellen Öffnen und Schließen von SQL-Verbindungen anfällt. Soll ich eine Verbindung bestehen lassen (eine, pro Client, pro Datenbank), oder ein neues sqlconnection-Objekt immer dann deklarieren, wenn ich es...
29.10.2008, 15:28
1
Antwort

Übergeben der Standardwerte von Parametern an Table Valued Functions

%Vor% ist meine Funktion, die Sinn macht, wenn sie fertig ist. Wenn ich versuche, diese Abfrage auszuführen, und ich zwei Parameter nicht bereitstelle, wird es fehlschlagen. Ich habe den gleichen Code wie eine gespeicherte Prozedur und wenn ich...
28.03.2013, 19:27
8
Antworten

DB2 SQL konvertiert dezimal in Zeichen mit Nullen

Wie kann ich DB2 DECIMAL (11) von 12345678 in den Zeichenwert 00012345678 umwandeln?     
20.03.2013, 21:39
5
Antworten

Fehler beim Ausführen von Oracle-Skript über die Befehlszeile mit sqlplus

Ich habe ein Problem beim Versuch, mein SQL-Skript mit sqlplus in Oracle auszuführen. Das Skript füllt nur einige Dummy-Daten: %Vor% Mein Skript funktioniert einwandfrei, wenn ich es mit Oracle SQL Developer ausführe, aber wenn ich das Befeh...
11.05.2010, 08:57
5
Antworten

Probleme beim SQL Server 2008 R2-Datenexport

Ich versuche, Daten aus meiner Produktions-DB in meine Entwicklungs-DB zu exportieren, aber ich erhalte diesen Fehler:    Meldungen Fehler 0xc0202049: Datenfluss Aufgabe 1: Fehler beim Einfügen in die   schreibgeschützte Spalte "id". (SQL Ser...
28.08.2012, 15:08
7
Antworten

Regulärer Ausdruck zur Übereinstimmung aller Kommentare in einem T-SQL-Skript

Ich brauche einen regulären Ausdruck, um ALLE Kommentare in einem T-SQL-Block zu erfassen. Der Ausdruck muss mit der .Net Regex-Klasse arbeiten. Sagen wir, ich habe das folgende T-SQL: %Vor% Ich muss alle Kommentare aufnehmen, einschließl...
07.10.2011, 16:51
6
Antworten

Verknüpft zwei Tabellen mit bestimmten Spalten

Ich bin neu in SQL, ich weiß, das ist wirklich einfach, aber ich weiß wirklich nicht, wie es geht! Ich schließe mich zwei Tabellen an, jede Tabelle lässt sagen, dass sie 5 Spalten hat, wenn ich sie zusammenfüge, bekomme ich insgesamt 10 Spalten,...
02.07.2013, 20:08
3
Antworten

So prüfen Sie, ob eine SQL-Abfrage mit C # erfolgreich ist

Ich bin neu in C # und SQL. Von einem Formular aus kann ich nun auf eine Funktion in einer Klasse zugreifen. Mein Code ist %Vor% Wenn jetzt ein Datensatz in der Datenbank mit dem angegebenen id nicht existiert, wird die Anwendung sofor...
12.01.2013, 12:09