1

SQLServer2008で関数を作成しました。

これらのステートメントの両方をSSMSでエラーなしで実行できます。

SELECT * FROM myFunction(myParam1,'myParam2');
SELECT * FROM dbo.myFunction(myParam,'myParam2');

しかし、これはVBAで、クエリの実行時に「myFunction」で「無効なオブジェクト」エラーを発生させます。

Set db = New adodb.Connection
db.Open "Provider=SQLNCLI10;Data Source=aaaaa;Initial Catalog=db_ferm;Trusted_Connection=yes;"

Sql = "SELECT * FROM myFunction(" & theParam & ",'" & theParam2 & "') "
Set GetReport = db.Execute(Sql)

これらの「無効なオブジェクト名」エラーは、今日突然現れ始めました。現在でもSSMSで取得することがあり、Intellisenseキャッシュをリセットする必要があります。

アイデア?

4

1 に答える 1

3

ルーキーSMSSの間違い!

SMSSで関数を作成したとき、データベースのドロップダウンメニューで「マスター」を選択し(それがどのように行われたかはわかりません)、関数に対するすべてのSMSSクエリテストは「マスター」で行われました。私のADO接続文字列は別のデータベースへのものでした。そのため、関数が見つかりませんでした。

于 2013-02-14T06:23:47.177 に答える