ビューを使ったデータの表示(SQLサーバー) – プログラミング – Home

ビューを使ったデータの表示(SQLサー...
 
通知
すべてクリア

[解決済] ビューを使ったデータの表示(SQLサーバー)


田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

VisualC.Net, WindowsSDK, windows2003Sv, SQLServer2000にて開発をしています。

データベースで通常のデータなら問題なくデータが表示されるのですが
ビューのデータでは「オブジェクト ○○(ビュー名)は無効です」とのエラーメッセー
ジが
でてしまい、操作できません。

プログラムとしてはレコードセットに関連づけてデータを開こうとしています。
ただ、どのあたりに原因があるのか不明です。何かヒントになる事はありませんか?
ソースコードは以下のようになります。
下のSQL文はもちろんクエリアナライザで普通に結果が出ます。
ビューを使わないレコードの場合は以下のプログラムは問題なく動きます。

//SQL文字を作成
szStrSQL=SELECT * FROM ○○ビュー名

CoInitialize(NULL); //Comライブラリのオープン

//オープンコネクション
TESTHR(lpConnection.CreateInstance(__uuidof(Connection)));
lpConnection->Open (strCnn, ", ", adConnectUnspecified);

//レコードセット作成し、値をリンク
TESTHR(lpRecordset.CreateInstance(__uuidof(Recordset)));
TESTHR(lpRecordset->Open
(szStrSQL,strCnn,adOpenStatic,adLockBatchOptimistic,adCmdText));
↑↑ここのレコードセットのオープンでエラーが出ている↑↑

TESTHR(lpRecordset->QueryInterface(__uuidof
(IADORecordBinding),(LPVOID*)&picRs));

TESTHR(picRs->BindToRecordset(&tbTestData)); //デー
タをローカル変数へ収納

//レコードセット切断
if(lpRecordset){
if (lpRecordset->State==adStateOpen){
lpRecordset->Close();
}
}

//データベース切断処理
if (lpConnection){
if (lpConnection->State == adStateOpen){
lpConnection->Close();
}
}

CoUninitialize();


引用未解決
トピックタグ
田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

すみません。
別のテストテーブルを作って実験した所、
初めはViewだから特別な動きをしているというように思っていたのですが、
データベースのViewの作り方に問題があったのではないか?
という事が分かってきました。
解決はしていませんが ひとまず解決のチェックを入れます。

どうもすみませんでした


返信引用
田中さん
 田中さん
(@田中さん)
ゲスト
結合: 19年前
投稿: 49
Topic starter  

最終的に解決しました。
クライアントによって権限レベルが違い、そこではじかれていたようでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました