記事一覧

varchar をデータ型 numeric または decimal に変換中に、算術オーバーフロー エラーが発生しました。| SQL Server

今回は SQL Server で文字列を数値型に変換する際に、以下のようなエラーが発生し変換に失敗する件について覚え書きします。このエラーは型の桁数よりも大きい数値を代入した際に出力される普通のエラーなのですが、今回は桁数がそこまで多くない数値の文字列を数値型に変換しているのにエラーが出力されることから、冷静な判断を誤りました。普段から金額にはMONEY型を使用していたため、あまり使用しない型を使って初心者のよう...

続きを読む

Excelをインポートする方法 -Transact SQL- | SQL Server

今回は SQL Server でTransact-SQLのみでプロシージャとして使用が可能なエクセルインポート方法を覚え書きします。Excelを取り込む方法といっても検索するとウィザードでとかVBでとかばかりで参考にならないものが多かったです。業務系のDBサーバーではExcelをバッチで取り込みたいなど要望が多いと思います。VBで作成するのも手ですが、今一つお手軽感がありません。  前提条件・Windows 7 professional 以降 / Windows Se...

続きを読む

リンクサーバー (null) の OLE DB プロバイダー BULK から行をフェッチできません | SQL Server

今回は SQL Server の BULK INSERT を使用中に以下のようなエラーが出力されましたので、その対応方法についてご紹介いたします。エラーNO:7330エラー内容:リンクサーバー "(null)" の OLE DB プロバイダー "BULK" から行をフェッチできません。 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降1.原因調べてみると、データの件数が多すぎるこ...

続きを読む

CSVファイルを動的にインポートする方法 (ファイル名とテーブル名を指定) -Transact SQL- | SQL Server

今回は SQL Server のストアドプロシージャにおいてCSVファイルをテーブルに取り込む方法について覚え書きします。基本的には BULK INSERT で取り込みが可能ですが、通常の記述方法ですとファイル名はハードコートで、インポートするテーブルも固定で記述になってしまい、使いまわしにくいコードとなってしましいます。そこで、ファイル名を変数で渡し、テーブル構造も動的に作成する方法を考えてみました。 前提条件・Windows 7 ...

続きを読む

SQLCLRを実装する手順 | SQL Server

今回は SQL Server でSQLCLRを実装する手順とその実行方法について覚え書きします。SQLCLRは SQL Server 2005 から搭載された機能で、VBやC#のコードをストアドプロシージャやスカラー関数として呼び出すことができる大変便利で、さらには .NETのソースと互換性のある機能です。しかしながら、最近再度使用してみましたところ、少しつまづきましたのでここに覚え書きしたいと思います。 前提条件・Windows 7 professional 以...

続きを読む

ストアドプロシージャでメールを送信する方法 -Transact SQL- | SQL Server

今回は SQL Server のストアドプロシージャ内においてメールを送信する記述方法について覚え書きします。サーバーでのメールアカウントの設定は前回の記事「メール送信設定を構成する方法」をご参考ください。 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降・サーバー上でメール送信設定の構成が済んでいること1.実装方法メール送信自体は SQ...

続きを読む

メール送信設定を構成する方法 -Transact SQL- | SQL Server

今回は SQL Server でメールを送信する為の設定を構成する方法について覚え書きします。ウィザードになっており、クライアントのメーラーができる人であれば誰でも設定ができるくらい簡単でした。次回の記事で「メール送信を行うストアドプロシージャ」についてご紹介いたします。 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降1.ウィザード...

続きを読む

複数のカーソルを開く方法 -ヘッダーと明細で複数のカーソルが必要な場合の記述方法- | SQL Server

今回は SQL Server で複数のカーソルを続けて開く方法を覚え書きします。例えばヘッダーと明細でヘッダーの番号を元に明細のレコードをフェッチするなどの記述が必要なケースが多々あると思います。明細のカーソルの記述場所がヘッダーのカーソルの内部に定義しないと正しく動作しませんので、少しハマりどころだと感じました。 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer ...

続きを読む

指定した文字で指定した文字数分だけ文字埋めする方法 -0埋めする方法- | SQL Server

今回は SQL Server で指定した文字を指定した文字数分だけ文字埋めする方法を覚え書きします。例えばよくあるのが0埋めですね。"123"という数値文字列の先頭に"00"を付けて"00123"といった5桁の数値文字列で返したいなどの場合に役立つ方法です。.Netで言うところのPadLeft関数ですね。  前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降1...

続きを読む

文字列のチェック・検証を行う方法 -文字数・バイト数・半角全角チェック- | SQL Server

今回は SQL Server で文字列関連のチェック・検証を行う方法について覚え書きします。 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降1.文字数取得する文字列の文字数はLEN関数によって取得ができます。※LENGTH関数は使用できなくなっています。--文字列の長さSELECT LEN('山田太郎');--結果: 42.バイト数を取得する文字列のバイト数はDATAL...

続きを読む

Throw 付近に不適切な構文があります。次が必要です: CONVERSATION、DIALOG、DISTRIBUTED、またはTRANSACTION. | SQL Server

今回は SQL Server にて以下のようなエラーが表示される場合の対応方法について覚え書きします。'Throw' 付近に不適切な構文があります。次が必要です: CONVERSATION、DIALOG、DISTRIBUTED、またはTRANSACTION. 前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2012 Developer / Standard / Enterprise 以降1.原因BEGIN CATCH ~ END CATCH の内部でThrowを使用する場合は発生しません。BEGI...

続きを読む

ストアドプロシージャ内にてカーソルでループして更新する方法 | SQL Server

今回はストアドプロシージャ(以下SPと呼ぶ)を記述する際に、ループして更新する方法にカーソルがありますが、その記述方法についてご紹介いたします。前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2005 Developer / Standard / Enterprise 以降1.カーソルの宣言DECLARE カーソル名 CURSOR LOCAL FOR SELECT文2.ループのオープン・ループ方法OPEN カーソル名FETCH NEXT FROM カーソル名...

続きを読む

FunctionでRoundDown関数を作成する方法 | SQL Server

今回は SQL Server で RoundDown 関数を作成する方法をご紹介いたします。SQL Server には端数処理関数としては標準ではあまり整っていません。そこで UI 側から呼び出す際に VBのみで記述したりするケースをよく見かけますが、それだとストアドプロシージャ(以下ストアド)内にて記述する際に、別途作成する必要が出てきます。このような共通処理的なものは Function として作成すると VB からも呼び出せるし、ストアドや View ...

続きを読む

ストアドプロシージャ内にてロールバック後にエラー内容を表示する方法 | SQL Server

今回は、SQL Server にてエラーをキャッチし、エラーがあればロールバックしてエラー内容を表示し、またエラーが無ければコミットする方法をご紹介いたします。前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2005 Developer / Standard / Enterprise 以降 ポイントとしては(1)エラーをハンドリングする場合は、  BEGIN TRY - END TRY ~ BEGIN CATCH - END CATCH で囲みます。(2)ロ...

続きを読む

テーブルのバックアップを日付を付けて取得する方法 | SQL Server

今回は SQL Server にてテーブルのバックアップを取得する際に、動的にテーブル名に日付を付けて作成する方法をご紹介いたします。前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2005 Developer / Standard / Enterprise 以降1.実装方法作成する際のポイントは以下の通りです。(1)動的にSQLを作成する場合、EXEC関数にてSQLを実行します。(2)日付をYYYYMMDDで取得する場合は   CONV...

続きを読む

このコンテキストではサブクエリは許可されません。スカラ式だけが許可されます。 | SQL Server

SQL Server にて 「このコンテキストではサブクエリは許可されません。スカラ式だけが許可されます。」というエラーが出力されましたので、検証してみました。以前 SQL Server 2008 で作成したプロシージャのコンパイルが通らないのです。エラーが出力された環境は SQL Server 2005 です。現在、SQL Server 2016 Developer Edition が誰でもダウンロード可能になっており、その環境において再度検証してみたところ、普通にコンパイ...

続きを読む

TableTypeの作成方法 | SQL Server

今回は SQL Server 上で Table Type を作成する方法をご紹介いたします。Table Type とは通常 ストアドプロシージャ等によく用いられますが、引数としてテーブルを渡すというイメージの処理が可能です。引数としてテーブルを渡す実際のサンプルコードは以下のようになります。引数にTableTypeの@TestTableを渡しています。USE testDBGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGODROP PROCEDURE IF EXISTS dbo.TestProcedureGO...

続きを読む

暗号化された文字列をあいまい検索する方法 | SQL Server

今回はSQL Server にて暗号化されたデータに対してあいまい検索する方法をご紹介いたします。暗号化といってもDB丸ごと暗号化する機能の事ではなく、今回はデータ単位で暗号化してあるレコードに対してあいまい検索する方法です。これがまた厄介なのです。前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2008 Developer / Standard / Enterprise 以降例えば 山田太郎 という個人情報を暗号化...

続きを読む

SQL Server Developer Edition をダウンロードする方法 | SQL Server

今回は、開発目的なら無料で使用ができる SQL Server 2016 Developer Edition をダウンロードする方法をご紹介いたします。以下のURLからダウンロード可能です。https://my.visualstudio.com/benefits※サインインしていない場合は、サインインしないとダウンロードできません。前提条件・Windows 7 professional 以降 / Windows Server 2008 R2 以降・SQL Server 2016 Developer1.ダウンロードページについてBenefitsリンクをク...

続きを読む

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語・データベース】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
Oracle10g SQLServer2008R2 SQLAnywhere8/11/16
ActiveReport CrystalReport ReportNet(IBM)
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。