Frage : Sql-Datenbankpoststörung

Ich habe den SP 20+:
(1) Bau und senden über dbMail eine HTML-eMail („Thema“ und „Körper ")
(2) schreiben zu den „DashboardMessage“ verschiedenen Elementen der Tabelle des SP (einschließlich „Thema“ und „Körper“ der eMail).  
(ich habe ein Beispiel SP in einem Code-Stückchen angebracht),

Starting, gestern, das ich anfing, Fehlermeldungen auf allen meinen SP zu erhalten, wie folgt… << einer muss mindestens der folgenden Parameter spezifiziert werden. „@body, @query, @file_attachments, @subject“. von >> ist
(angebrachten pic für Mitteilungen von APP sehen und wenn ich von EXEC laufe),

What interessant ist, dass die EXEC Fehlermeldung „Linie 242“… nicht sagt sure, wo sie dieses erhält? Mein SP ist herum 185 Reihen (SP-Code sehen).

Any Gedanken?

Brad



1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
USE [Bilanz]
GEHEN
/****** Gegenstand:  StoredProcedure [dbo]. [mB102IMSOILeaderReAssignment] Index-Datum: 07/27/2010 08:41: 58 ******/
ANSI_NULLS BEGINNEN
GEHEN
QUOTED_IDENTIFIER BEGINNEN
GEHEN
Verfahren [dbo] ÄNDERN. [mB102IMSOILeaderReAssignment] 
	@profile varchar (maximal),
	@SourceEmail varchar (maximal),				--oldC1EM (cm) 
	@ReportID int,
	@RecID int,
	@SourceUserID int,						-- oldC1        
	@OriginatorUserID int,					-- A1ID  
	@TargetUserID int,						-- oldC1IM         
	@Host varchar (maximal),
	@NotificationName varchar (maximal)
wie

das @TargetName erklären, das varchar ist (maximal)
@TargetName einstellen = (auserwählt u.FirstName + ''+ u.LastName von Benutzern u
				 wo u.ID = @TargetUserID)
				 
das @TargetTitle erklären, das varchar ist (maximal)
@TargetTitle einstellen = (AUSERWÄHLTES u.TitleDesc
					Von den Benutzern ALS u 
					Wo u.ID = @TargetUserID)   		 
				 
das @SourceName erklären, das varchar ist (maximal)
@SourceName einstellen = (auserwählt u.FirstName + ''+ u.LastName von Benutzern u
				 wo u.ID = @SourceUserID)				 

das @SourceTitle erklären, das varchar ist (maximal)
@SourceTitle einstellen = (AUSERWÄHLTES u.TitleDesc
					Von den Benutzern ALS u 
					Wo u.ID = @SourceUserID)	
					
das @ReportDate erklären, das varchar ist (maximal)
@ReportDate einstellen = (AUSERWÄHLTER Bekehrter (Putzfrau (10), ReportDate, 101) 
					Von den Reports ALS r
					WO r.ID = @ReportID) 
					
das @AuditExamination erklären, das varchar ist (maximal)
@AuditExamination einstellen = (AUSERWÄHLTER Fall vcg.ID, wenn 2 dann „Berater“
                                                        wenn 3 dann „revidieren“
                                                        wenn 6 dann „intern“
                                                        wenn 9 dann „Prüfung“
                                                        sonst '' Ende
						VON VendorCategories ALS vc INNERES VERBINDEN
									VendorCategoryGroups ALS vcg AUF vc.VendorCategoryGroupID = INNERES vcg.ID VERBINDEN
									Verkäufer ALS v AUF vc.ID = INNERES v.VendorCategoryID VERBINDEN
									Reports ALS r AUF v.ID = r.SourceVendorID
						WO (r.ID = @ReportID))
						
						
						
das @AuditAreaList erklären, das varchar ist (maximal)
@AuditAreaList einstellen = (AUSERWÄHLTES dbo.GetAuditAreasForReport (r.ID) ALS AuditAreas
						Vom dbo. Reports ALS INNERES r VERBINDEN
								dbo. Verkäufer ALS v AUF v.ID = r.SourceVendorID VERLIESSEN ÄUSSER VERBINDEN
								dbo.ReportsStatus2Distinct AUF r.ID = dbo.ReportsStatus2Distinct.ID
						WO r.ID = @ReportID)
						

das @RecommendationLanguage erklären, das varchar ist (maximal)
@RecommendationLanguage einstellen = (AUSERWÄHLTES r.Observation
								VON Empfehlungen r 
								WO r.ID = @RecID)

das @SupInfoSource erklären, das varchar ist (maximal)
@SupInfoSource einstellen = (AUSERWÄHLT      
                      (FALL, WENN rec.SupportingInformationSourceReportID NICHT UNGÜLTIGER DANN „Verkäufer -“ + (v.Name) WENN rec.SupportingInformationSourceUserID NICHT UNGÜLTIGER DANN „Benutzer IST -“ + IST (u.FirstName + ''+ u.LastName) WENN rec.SourceOther NICHT UNGÜLTIGE DANN „Quelle -“ + rec.SourceOther SONST „Quellnicht zugewiesenes“ ENDE IST), ALS Schluss                     
						Von den Empfehlungen ALS INNEREM rec VERBINDEN
                      Reports ALS r AUF rec.ReportID = INNERES r.ID VERBINDEN
                      Verkäufer ALS v AUF r.SourceVendorID = v.ID VERLIESSEN ÄUSSER VERBINDEN
                      Benutzer ALS u AUF rec.SupportingInformationSourceUserID = u.ID
						WO rec.ID = @RecID)      						

das @SupportingInfo erklären, das varchar ist (maximal)
@SupportingInfo einstellen = (AUSERWÄHLTES r.SupportingInformation
								VON Empfehlungen r 
								WO r.ID = @RecID)						

das varchar @RecRiskLevel erklären (2)
@RecRiskLevel einstellen = (AUSERWÄHLTES r.RiskLevel
								VON Empfehlungen r 
								WO r.ID = @RecID)
								
das @VendorName erklären, das varchar ist (maximal)
@VendorName einstellen = (AUSERWÄHLTES v.Name
						Von den INNEREN Reports r VERBINDEN
                      Verkäufer V AUF r.SourceVendorID = v.ID 
								WO r.ID = @ReportID)														
								
das varchar @RecNum erklären (2)
@RecNum einstellen = (AUSERWÄHLTES r.RecommendationNumber
								VON Empfehlungen r 
								WO r.ID = @RecID)	
								
das @SourceNameDate erklären, das varchar ist (maximal)
@SourceNameDate einstellen = (AUSERWÄHLT (v.Name + „-“ + (Bekehrter (Putzfrau (10), r.ReportDate, 101))) 
						Vom dbo. Reports ALS INNERES r VERBINDEN
                      dbo. Verkäufer ALS v AUF v.ID = r.SourceVendorID VERLIESSEN ÄUSSER VERBINDEN
                      dbo.ReportsStatus2Distinct AUF r.ID = dbo.ReportsStatus2Distinct.ID
						WO r.ID = @ReportID)   
						
das @FormalResponse erklären, das varchar ist (maximal)
@FormalResponse einstellen = (AUSERWÄHLTES ResponseFormal
						VON RecommendationResponders ALS Eisenbahn
						Wo RecommendationID = @RecID)						 	
						
die @ReAssignComments erklären, die varchar sind (maximal)
@ReAssignComments einstellen = (AUSERWÄHLTES SOIReAssignComments
						VON RecommendationResponders ALS Eisenbahn
						Wo RecommendationID = @RecID)

@NewB1ID int erklären
einstellen @NewB1ID = (AUSERWÄHLTES SOILeaderUserID
						VON RecommendationResponders ALS Eisenbahn
						Wo RecommendationID = @RecID)

das @ResponsibleUserName erklären, das varchar ist (maximal)
@ResponsibleUserName einstellen = (auserwählt u.FirstName + ''+ u.LastName von Benutzern u
							wo u.ID = @NewB1ID)

das @ResponsibleUserTitle erklären, das varchar ist (maximal)
@ResponsibleUserTitle einstellen = (AUSERWÄHLTES u.TitleDesc
							Von den Benutzern ALS u 
							Wo u.ID = @NewB1ID)

das @html erklären, das varchar ist (maximal)
@html=Body VON NotificationContent VORWÄHLEN IN DEM NotificationName=@NotificationName

@html einstellen = ersetzt (@html, „[TargetName]“, @TargetName)								-- oldC1IM
stellt @html = ersetzt ein (@html, „[SourceName]“, @SourceName)								-- oldC1Name
stellt @html = ersetzt ein (@html, „[SourceTitle]“, @SourceTitle)
@html einstellen = ersetzt (@html, „[ReportDate]“, @ReportDate)
@html einstellen = ersetzt (@html, „[AuditExamination]“, @AuditExamination)
@html einstellen = ersetzt (@html, „[AuditAreaList]“, @AuditAreaList)
@html einstellen = ersetzt (@html, „[RecommendationLanguage]“, @RecommendationLanguage)
@html einstellen = ersetzt (@html, „[SupInfoSource]“, @SupInfoSource)
@html einstellen = ersetzt (@html, „[SupportingInfo]“, @SupportingInfo)
@html einstellen = ersetzt (@html, „[RecRiskLevel]“, @RecRiskLevel)
@html einstellen = ersetzt (@html, „[FormalResponse]“, @FormalResponse)

@html einstellen = ersetzt (@html, „[VendorName]“, @VendorName)
@html einstellen = ersetzt (@html, „[RecNum]“, @RecNum)
@html einstellen = ersetzen (@html, „[ReAssignComments]“, @ReAssignComments)
@html einstellen = ersetzt (@html, „[ResponsibleUserName]“, @ResponsibleUserName)
@html einstellen = ersetzt (@html, „[ResponsibleUserTitle]“, @ResponsibleUserTitle) 
 


das @sub erklären, das varchar ist (maximal)
@sub=Subject VON NotificationContent VORWÄHLEN IN DEM NotificationName=@NotificationName
@sub einstellen = ersetzt (@sub, „[SourceNameDate]“, @SourceNameDate)
@sub einstellen = ersetzt (@sub, „[RecNum]“, @RecNum)

das @to erklären, das varchar ist (maximal)
@to einstellen = (AUSERWÄHLTES u.Email
			Von den Benutzern als u
			WO u.ID = @TargetUserID)




exec msdb.dbo.sp_send_dbmail 
	@profile_name = @profile,
	@recipients = @to,						-- oldC1IM		
	@copy_recipients = @SourceEmail,		-- oldB1
	@subject = @sub,
	@body = @html,
	@body_format = „HTML“
	
	
EINSATZ [dbo]. [DashboardMessages] (
      [EventAlias], [MessageTypeID], [AppSection], [UserID],
      [DateCreated], [prioritär], [abgeschlossen], [vorbehaltlich], [Mitteilung], [RecommendationID])
Auserwählt 
Links (@NotificationName, 50), 4, „Empfehlung“, @TargetUserID, GetDate (),
1.1, @sub, @html, @RecID
;
EINSATZ [dbo]. [DashboardMessages] (
      [EventAlias], [MessageTypeID], [AppSection], [UserID],
      [DateCreated], [prioritär], [abgeschlossen], [vorbehaltlich], [Mitteilung], [RecommendationID])
Auserwählt 
Links (@NotificationName, 50), 5, „Empfehlung“, @SourceUserID, GetDate (),
1.1, @sub, @html, @RecID
Attachments:
ErrorMessageFromApplication
ErrorWhenExecFromSSMS

Antwort : Sql-Datenbankpoststörung

Die Linie Zahl bezieht sich die auf Linie Zahl innerhalb des gespeicherten Verfahrens der Post - nicht Ihr gespeichertes Verfahren….


Sie klingt wie Sie hat einen UNGÜLTIGEN Wert innen dort irgendwo.

Würde vorschlagen, dass Sie ganzes Satz @stuff = (auserwählt…) in einer isnull Art Test einkapseln sollten Ihr z.B. einstellten @stuff = isnull ((vorwählen…), '')

Oder, wenn UNGÜLTIGE Werte bedeutet werden, um unmöglich zu sein, dann Sie konnte jene Tabellen auf UNGÜLTIGEN Werten überprüfen mögen.

Weitere Lösungen  
 
programming4us programming4us