- PR -

VB.NETでSQLSERVERのリンクサーバー使用について

1
投稿者投稿内容
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 2004-09-28 10:05
お世話になります。
VB.NETでSQLSERVERのリンクサーバーを使ったストアド作成しました。
環境は、WINDOWS XP
.NET 2003
SQLSERVER 2000
です。

リンクサーバーを使ったストアドを、VB.NET側で呼び出しているのですが、
間違いなく、検索結果には値が入っています。
しかし、エラーがおき、型DBNULLに型STRINGのキャストが有効でありません。
というメッセージが表示されました。
やりたいことは、自分のPC内のサーバーと他のDBサーバーとを比較した
検索結果を取得したいのです。
VB.NETでは、SQLSERVERのリンクサーバーを使用できないのでしょうか?
また、別の方法はないのでしょうか?

どなたかご教授をお願いします。

Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2004-09-28 10:43
確認なのですが、
引用:

リンクサーバーを使ったストアドを、VB.NET側で呼び出しているのですが、
間違いなく、検索結果には値が入っています。


このことはどうやって確認しましたか?

あと、
引用:

しかし、エラーがおき、型DBNULLに型STRINGのキャストが有効でありません。
というメッセージが表示されました。


このエラーはどのようなタイミングで発生しますか?
(DataGridにバインドした時など)

エラー内容から察すると、リンクサーバとかは関係なく単純に結果がNull値のものをStringにキャストしようとしてるだけかな?と思ってしますのですが、どうなのでしょうか?
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 2004-09-28 11:07
Ten.さん、お返事ありがとうございます。

引用:
--------------------------------------------------------------------------------
リンクサーバーを使ったストアドを、VB.NET側で呼び出しているのですが、
間違いなく、検索結果には値が入っています。

>このことはどうやって確認しましたか?
--------------------------------------------------------------------------------
ですが、ストアドだけで実行すると検索結果は出てきました。
構文自体エラーも起きず、リンクサーバーも確認できました。
リンクサーバー作成時の設定の問題かなと思い、ただいま調べ中です。


引用:
--------------------------------------------------------------------------------
しかし、エラーがおき、型DBNULLに型STRINGのキャストが有効でありません。
というメッセージが表示されました。

>このエラーはどのようなタイミングで発生しますか?
>DataGridにバインドした時など)

--------------------------------------------------------------------------------

ですが、ストアドをVB.NET側で呼び出し実行する際、TRY内でストアドを実行した時に
エラーがあれば、CATCH内でex.ToStringでエラー内容を返しています。
その時のエラーが上記のものです。
エラーは、SQLコマンドを実行した際に起きています。

引用;--------------------------------------------------------------------------
エラー内容から察すると、リンクサーバとかは関係なく単純に結果がNull値のものをStringにキャストしようとしてるだけかな?と思ってしますのですが、どうなのでしょうか?
-------------------------------------------------------------------------------

ストアドでは実行した時、結果はNULLではありませんでした。
しかし、VB.NETで呼び出した時は、検索結果の値には、何も入ってませんよ
という感じだと思うのですが、DBNULLを返しています。

自分なりにもう少し調べてみます。
また、なにか分かりましたら、お教え下さい。



1

スキルアップ/キャリアアップ(JOB@IT)