• ベストアンサー

SQL Server 2005のimage型データをメール添付送信

SQL Server 2005でストアド(msdb.dbo.sp_send_dbmail)を使用して、既にデータベースに登録されているimage型のファイルを 添付してメール(データベースメール)で送信したいのですが、方法はありますでしょうか? どなたかご教示をお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

データベースメール自体にはその機能はありません。 過去にBCPで出力したファイルを添付するということはやったことがありますが、同様のアプローチでやるしかないように思います。 (もともとファイルをテーブルに収録するのは簡単ですが、ファイルに出すのは結構めんどうくさいので) ・ファイルに出力するプログラム作成し、xp_cmdshellで実行し、出力されたファイルをデータベースメールにアタッチする ・ファイルに出力するCLRストアドプロシージャを作成し、これを実行し、出力されたファイルをデータベースメールにアタッチする セキュリティと処理の安定度を考えたら、後者の方がマシなアプローチだとは思います。

hibiscus_t
質問者

お礼

ご回答ありがとうございます。 おっしゃる通り、後者の案を採用したいと思います。 ありがとうございました。

関連するQ&A

  • SQL Server 2005 レプリケーションについて

    SQL Server2005 から SQL Server7.0 SP4 へレプリケーションを設定したいと思うのですが、上手くできません。 パブリケーション:SQL Server 2005 ディストリビューション:SQL Server 2005 サブスクリプション:SQL Server 7.0 SP4 自動起動 文献を調べると、ストアドを実行すれば設定できるようですが、 どのストアドを実行すればよいのかわかりません。 ご存知の方、そのストアドと引数をお教えください。 またアドバイス等ございましたらお教えいただきたくお願い致します。

  • アクセスからSQL Serverのデーターを更新することができない。

    アクセスのデーターをSQLサーバーへ移行する計画があり、準備のため SQL Developer バージョンで独習中です。SQLサーバーにコピーしたテーブルにアクセスからログインするとテーブルは見られるのですが、データーの変更については「このレコードセットは更新できません」と表示されます。権限の問題ではないかと思われます。 環境と現状の設定: XP Professional SQL Server 2008 Developer Visual Studio 2008  サーバー名: SVR-1 セキュリティー ログイン名: SVR-1\taro サーバーロールのメンバーシップ:sysadmin データーベース名: project ユーザー名: dbo ログイン名: SVR-1\taro 既定のスキーマ: dbo 所有されているスキーマ:なし データーベースのロールメンバーシップ: db_owner 不思議なことに、Visual Studio 2008を使って試作したデーターベースはアクセスから書き換えができます。セキュリティーの設定も何ら変わりがないのですが。 データーベース (project)のユーザー名(dbo)の「所有しているスキーマ」にあるdata_reader, data_writer欄にチェックをいれても結果は同じです。 どこをどのように設定すれば良いのか、ご教示戴きますようお願い致します。

  • SQL Server サーバー名を削除したい

    こんにちは! PC環境は、Windows XP SP3です。SQL Server 2008 R Expressが入っています。 「ひと目で分かる Visual C#アプリケーション開発入門」という本を買ってきて勉強をしようと思っています。 サーバーエクスプローラーから新しいSQL Serverデータベースの作成を選択したら添付のような画面が出てきました。 ここに「サーバー名」という項目があります。この中に、「ABC\SQLEXPRESS」や「S120」などがあります。 質問1: サーバー名とは何でしょうか?サーバー名というからには、SQL Serverを実行しているホスト名だと思うのですが、サーバー名を見ると4つくらいサーバー名が最初から登録されています。これは何でしょうか?また削除することはできるのでしょうか? 質問2: 1年くらい前に同じ勉強をしてデータベースまで既に作っています。その時つくったのが、「「ABC\SQLEXPRESS」、データベース名「TaskManage」でした。同じ名前のデータベースを作ろうとすると、既にデータベースがあるので作れませんと表示されてしまいます。 勉強の為に、再度データベースをつくりなおしたいのですが、過去に作ったデータベースはどのように削除すればよいでしょうか? 以上、宜しくお願い致します!!

  • SQLサーバーのテーブルの値が更新できません

    お尋ねします。 SQLサーバー2005にDB1というデータベースにdbo_TB1というテーブルがあります。そのテーブルの特定の列の値を更新したいので、AC.mdbというアクセスのファイルにテーブルのリンクをし、更新したいファイルを用意して、アクセスのクエリでデータを更新しようとしましたところ、更新ができませんでした。  dbo_TB1を更新可能にするためには、どのようにして権限を与えればいいでしょうか。  SQLサーバー2005の知識を習得しようと学習を始めたばかりで、よく理解できていません。よろしくお願いします。

  • SQL SERVER の復元でバージョンエラーとなる

    SQL SERVER 2000で、データベース(master,model,msdbに限る)のバックアップを行い、作成されたバックアップファイルを別のサーバへ復元すると、’このバックアップを作成したサーバーのバージョンとこのサーバーのバージョンが異なります’のエラーとなる。互いのSQL SERVER 2000のバージョンは同じである。他にバージョンがあるのでしょうか。因みに、エクスポート、インポートでは問題なく実行できます。何かお分かりでしたら、ご教授お願いします。

  • リモートPCからSQL Server 2008 に接続できません。ご指導ください。

    環境 SERVER (Dell T-300) SQL-Server 2008 Workgroup Edition Windows認証 Workgroup による共有接続 ファイルサーバーとしては正常に接続できていますが、SQL-Serverのファイルに接続できません。SQL-ServerのデーターフォルダーはドライブDにあり、Administrator はフルコントールの設定です。 データーベース全体のセキュリティーのログインには SERVER\Administratorと表示されています。 個別データーベースのセキュリティーは: ユーザー dbo guest INFORMATION_SCHEMA sys 上記 dbo のプロパティーは ユーザー名  dbo ログイン名  SERVER\Administrator 規定のスキーマ dbo 所有されているスキーマ なし ロールメンバー db_owner にチェック済 上記の設定でAccess 2007からmdb、adpともアクセスを拒否されます。どこをどのように設定すればよいのでしょうか、ご指導のほど宜しくお願い致します。

  • SQL Server2005 スクリプトのソース抽出の仕方

    SQL Server2005があります。 ストアドプロシージャを1ストアド1ファイルで抽出したいです。 SQL Server Management Studioというツールでストアドのところで右クリックすると、 「名前を付けてストアドプロシージャをスクリプト化」というのはありますが、 やりたいのは、名前を付けずに、『ストアドプロシージャ名.sql』の形で1ストアド1ファイルで一括抽出です。 そういう事はできないのでしょうか?

  • SQL Server7.0でバックアップしたデータの復元

    VBからSQL Server7.0(SP1)のデータをバックアップしたデータの 復元処理をしようとしたのですが、次のエラーで復元できません。 「データベースは使用中です。システム管理者は復元操作を実行するために、 データベースを排他的に使用する必要があります。」 MicrosoftのHPからこのエラーを調べたところ、 「model データベースの使用中には復元ができない」バグがあるということです (http://support.microsoft.com/default.aspx?scid=kb;ja;199216) が、sp_whoストアドプロシージャで調べたところ、Modelデータベースは使用していないようです。 Enterprise Managerからデータベース復元を行うと、 復元ができました。 ちなみに、VBからのバックアップのSQLは BACKUP DATABASE データベース名 TO DISK = '保存先' WITH INIT 復元のSQLは RESTORE DATABASE データベース名 FROM DISK = '復元元' WITH RECOVERY です。

  • VBAメール添付ファイル付送信

    VBAメール添付ファイル付送信 Win2000 Access2000 添付ファイル付メールの送信を以下の様に組んでおります 以下の組み方ですと本文の下か、上かにしか添付ファイルを付ける事ができません 本文の中間に添付ファイルを付ける事は可能なのでしょうか? 希望する内容↓ ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 本文○○○○○○○○○○○○ ここに添付ファイル 本文○○○○○○○○○○○○ ++++++++++++++++++++++++++++++++++++++++++++++++++++++ With myMail   .To = "メールアドレス"   .Subject = "例:メールタイトル"   .Attachments.Add("サーバに保存してあるEXCELのフルパス")   .Body = "本文 (メッセージ)"   .send End With 宜しくお願いします

  • 添付メールの送信エラーについて

    昨日に同じような質問を致しましたが現在TOPPAのサーバーでoutlook expressからとgooメールを使用しています。ためしに私のメールアドへ送信、gooメールからoutlook expressへの添付ファイルは綺麗に送信できますが、それをgooメールに返信をすると添付ファイルが送信できません。ファイルの大きさは86MBぐらいです。これらには何が原因なのか知りたくて質問させていただきました。昨日のご返答いただいたように縮小ファイルにする必要があるのでしょうか?しつこく質問して申し訳在りませんが私が登録した韓国サイトがgooメールしか送信できなかったものですから韓国サイトからの返信は全てgooメールから返信しない限り登録ができないので困っていますので至急お願いします。