Mein Problem ist, dass ich eine varchar(4000)
Typvariable nicht zuordnen kann, um in einer gespeicherten Prozedur abzufragen.SQL Server-Fehlercode 245 (Konvertierung beim Konvertieren von varchar in int fehlgeschlagen)
Ich versuchte viele Dinge, um es funktioniert zu bekommen, verschiedene Kombinationen mit Anführungszeichen, aber keine Chance.
Hier ist mein Verfahren:
@sirketkodu varchar(30) ,
@degerler varchar(4000),
@ORA_KULLANICI_KODU varchar(30) ,
@ORA_KULLANICI_TIPI varchar(30) ,
@ORA_KULLANICI_BIRIMI varchar(30) ,
@ORA_KULLANICI_ROLU varchar(50) ,
@ORA_KULLANICI_SUBE varchar(30) ,
@ORA_KULLANICI_SIRKET varchar(30) ,
@ORA_KULLANICI_UZMAN varchar(30) ,
@ORA_KULLANICI_EPOSTA varchar(50) ,
@ORA_BASVURU_KESIN_KOSUL varchar(1000),
@ORA_TARIH varchar(30)
AS
BEGIN
SET NOCOUNT ON;
SET DATEFORMAT DMY;
BEGIN
UPDATE sirket
SET bolgeler = '' + CAST(@degerler AS VARCHAR(4000)) + '',
kullanici = @ORA_KULLANICI_KODU,
tarih = @ORA_TARIH
WHERE kod = @sirketkodu
END
Diese Codezeile:
bolgeler ='' + CAST(@degerler AS VARCHAR(4000)) + ''
das Problem verursacht. Ich habe versucht, die folgenden:
bolgeler = @degerler,
bolgeler = '@degerler',
bolgeler = '' + @degerler + '',
bolgeler = CAST(@degerler AS VARCHAR(4000)),
bolgeler = ''' + @degerler + ''',
Meine @degerler
Daten ist eine serialisierte Reihe von PHP-Array wie folgt:
string(23) "a:1:{s:2:"gd";s:1:"E";}"
und der Fehler ist:
Fehler bei der Konvertierung während varchar Umwandlung in int
Danke
Die Art des Bolgelers ist int? – sepupic
in der Datenbanktabelle ist es varchar (1000). in der Prozedur ist es varchar (4000) –
Bitte geben Sie das Schema für das Ziel des Updates: 'sirket' – Tanner