問題タブ [sp-send-dbmail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6708 参照

sql-server - SQLServerSP_SEND_DBMAILイメージファイルの添付ファイル

テーブルでトリガーを使用して、sp_send_dbmailを使用してメールを送信しています。

画像タイプのメールに添付ファイルを含めたい。

jpegの生データは、バイナリ型のndl_Image列に格納されます。

私は次のコードを持っています:-

これは問題なく動作しますが、最後の行をコメントアウトすると、クエリがテキストファイルとして返されるようです。

添付ファイルをjpegファイルとして取得するにはどうすればよいですか????

ありがとう。

0 投票する
0 に答える
2275 参照

xml - sp_send_dbmail は、添付された xml クエリの結果に改行を挿入します。

msdb.dbo.sp_send_dbmailクエリ結果を添付ファイルとして送信するために使用する 場合@query_result_width、10 から 32767 までの整数であるパラメーターを提供する必要があります。 Microsoft Excel で非常に簡単に開くことができる xml 添付ファイル (2、3 回クリックするだけで、優れた Excel テーブルになります)
For XML Path('Row'), Root('Data'), Type
しかし、xml ファイルが 32767 バイトを超える場合、send_dbmail は xml ファイルの最初の行の 32767 番目の列に「改行」を挿入し、無条件にこれを行います! そこに何が書かれているかは気にしないことを意味します。改行するだけなので、xmlデータが破損します... sp_send_dbmailがその厄介な改行を挿入するのを防ぐ方法について、5時間以上インターネットをさまよっています。私が遭遇した唯一の解決策は、私が制御できる改行を挿入することでした.32767列目以降ではありません。次のようなクエリで問題は解決しますが、余分な作業が必要であり、クリーンではありません...

誰もがより良いアイデアを持っていますか? ここで何か不足していますか?
SQL Server 2008 Enterprise (x64) を使用しています

0 投票する
1 に答える
8724 参照

sql - sp_send_dbmail を使用して複数のクエリを送信するにはどうすればよいですか?

を使用してメールを送信しようとしていますsp_send_dbmail。1 つのクエリを添付ファイルとして送信し、別のクエリを電子メールの本文の一部として送信するために必要です。問題は、sp_send_dbmail@query パラメーターが 1 つしかなく、別のパラメーターを追加する方法が見当たらないことです。

a) 2 番目のクエリを追加する (すべてのパラメーターがアタッチされている) か、b) クエリを変数に実行してから、それをメールの本文に追加する方法はありますか?

SQL Server 2005 を使用しています。

ティア!

0 投票する
1 に答える
2384 参照

sql - sp_send_dbmail クエリの結果セットをテストしていますか?

Sql Server 2005 を使用してメールを送信しようとしてsp_send_dbmailいます。本文テキストとクエリの両方が添付ファイルとして送信されています。

ただし、クエリが空のデータセットを返す場合があります。

電子メールを送信する前にデータセットの結果をテストする方法はありますか。結果がない場合は、添付ファイルとして送信しないでください。

メールを送信する前にクエリを実行して、結果をテストすることを考えていました。次に、if-else次のようになります。

しかし、これは問題を解決するための効率的な方法ではないと思います。

助言がありますか?ティア!!

0 投票する
2 に答える
736 参照

sql - SQL Server 2008 dbmail エラー sp_send_dbmail - テーブル sysmail_mailitems の 'last_mod_user' に null 値を挿入できません

私たちの dbmail が壊れてしまい、問題を解決しようとしています。

最近、sp_send_dbmail を再作成しましたが、msdb.dbo.sysmail_mailitems テーブルの last_mod_user 列の null 値に関する奇妙なエラーは発生しません (エラー 515)

0 投票する
1 に答える
7791 参照

sql-server-2005 - SQL Server 2005 の sp_send_dbmail (データベース メール) から一部の電子メールのみが正常に送信される

sp_send_dbmailSQL Server 2005 で使用しているときに何が起こっているかについての答えを見つけたいと思っています。

これはシナリオです:

SQL サーバーにメール機能を設定しました。あるテーブルに電子メール アドレスがあり、別のテーブルにコンテンツがあります。テーブルで見つかったアドレスごとに、sp_send_dbmailストアド プロシージャを使用して、そのアドレスへの新しいメッセージをコンパイルします。

後で上記を実行する独自の SP を実行すると (電子メールを受け取り、受信者への新しいメッセージをコンパイルします)、サーバー上で DatabaseMail90.exe が起動し、電子メールが送信されます。しかし、これが厄介なところです。メールの一部が直接配布されているためです。おそらく同じドメインとネットワーク上にあるためです。複雑なのは、すべてではありませんが、ほとんどの外部メールが msdb.dbo.sysmail_mailitems テーブルでエラーを受け取ることです。しかし、混乱はここで止まりません。msdb.dbo.sysmail_mailitems テーブルにエラーが報告されているにもかかわらず、一部の電子メールは配信されています。

これは、送信済みメッセージのステータスを表示するために使用するクエリです。

データベース メールのシステム パラメータを次のように構成しました。

  • アカウントの再試行回数: 3
  • アカウント再試行遅延 (秒): 30
  • 最大ファイル サイズ (バイト): 50000000 (これほど大きくなることはありませんが、安全のために)
  • 添付禁止拡張子:exe、dll、vbs、js
  • データベース メール実行可能ファイルの最小有効期間 (秒): 300
  • ロギング レベル: 拡張

私のデータベース メール プロファイルは公開されており、既定のプロファイルとして設定されています。また、既存のプロファイルを設定しました。

これは、すべてを実行してメールの送信を開始する SP です。

したがって、疑問は残ります。電子メールをより速く配信するためにセットアップを微調整する方法はありますか? また、本当の質問ですが、電子メールの送信時にエラーが時々発生するのはなぜですか? 送信先のメールアドレスに問題はありません。コードまたはデータベース メール構成で考えられるエラーを見つけるには、どこを参照すればよいですか? このようなことを経験したことがありますか?

msdb.dbo.sysmail_mailitems テーブルのエラーの説明は何ですか? つまり、外部ドメインにエラーが報告されていますが、メールは配信されています。または、メールが配信されない場合、問題の原因をどこで調べればよいでしょうか。

0 投票する
1 に答える
6609 参照

sql-server-2005 - SQL Server 2005のsp_send_dbmailからエラーコードを特定するにはどうすればよいですか?

SQL Server 2005でsp_send_dbmailを使用して添付ファイルを送信しようとしています。最初に、サーバー上のファイルにコンテンツを保存するCLRストアドプロシージャを作成し、次に以下に示すストアドプロシージャを呼び出して、作成したファイルを削除します。このCLRストアドプロシージャをASP.NET2010アプリケーションから呼び出します。ローカルでは、この機能はSQLManagementStudioとアプリケーション内の両方から機能します。

これが私のCLRsprocからの重要なものです:

メールを送信するストアドプロシージャは次のとおりです。

このコードをアプリケーションの一部としてローカルで正常にテストした後、テストサーバーに移動しました。テストサーバーでは、ManagementStudioからCLRsprocを実行すると、メールが正常に送信されます。ただし、ASP.NETアプリケーションから実行すると、msdb.dbo.sp_send_dbmailからのリターンコードは1で、@@ERRORは0です。他のエラーは発生しません。SQL 2008では、少なくとも2008年のドキュメントによれば、おそらくもっと役立つ@@ERRORコードが得られることを私は知っています。

誰か提案はありますか?私が間違っているのは何だと思いますか?

よろしくお願いします、ジム

0 投票する
11 に答える
199083 参照

html - SQLクエリ結果テーブルを電子メール用のHTMLテーブルに変換します

結果のテーブルを返すSQLクエリを実行しています。dbo.sp_send_dbMailを使用してテーブルを電子メールで送信したいと思います。

SQL内でテーブルをHTMLテーブルに変換する簡単な方法はありますか?現在、COALESCEを使用して手動で作成し、その結果をemailBodyとして使用するvarcharに入れています。

これを行うためのより良い方法はありますか?

0 投票する
1 に答える
2517 参照

sql-server - sp_send_dbmail から添付ファイルのエンコーディングを変更するにはどうすればよいですか?

SQL Server で sp_send_dbmail からデータ添付ファイルを生成する際に、エンコーディングを既定の 'UniCode' から UTF-8 に変更する方法はありますか? それを達成するために「ANSI_Attachment」フラグがあったことがわかりましたが、SP2 で削除されました...それが本当かどうかはわかりません。

0 投票する
0 に答える
261 参照

sql - 画像を含む htm ファイルを sp_send_dbmail にストリーミングする

sp_makewebtask を実行して .HTM ファイルを作成するストアド プロシージャがあります。このファイルは、画像とクエリの出力と、追加の言葉遣いで構成されています。私がやりたいことは、sp_send_dbmail を使用してその .HTM ファイルを送信することです。sp_makewebtask ステップをバイパスして .HTM ファイルを動的に作成できることはわかっていますが、これを回避したいと考えています。何か案は?ありがとう

EXEC msdb.dbo.sp_send_dbmail @recipients='John.Testing@companyX.COM',
@subject = 'My Mail Test',
@body = @Var1, -- 基本的に、@Var1 を動的に作成された .HTM ファイル
@body_format = 'HTML'