質問
現在、SQL Server 2000 のデータをSQL Server 2012に移植すべく作業を行っております。 とりあえず、SQL Server 2005に一旦アップし、それからSQL Server 2012に移植する予定です。 OSは、Windows Server2008 R2 Standardとなります。
SQL2000のデータをバックアップし、SQL2005のデータベース環境を作成、データを移植しました。 ASPプログラムからSQL2000の時には adcon.Open "Provider=SQLOLEDB;Server="(local),Database=DB名;UID=sa;PWD=" でアクセスが可能でした。 あまり勧められない「sa」を利用しておりました。 SQL2005においては「sa」が使えないので、サーバにログイン可能なユーザ名を指定してアクセスしようとしています。 adcon.Open "Provider=SQLOLEDB;Server="(local),Database=DB名;UID=ユーザ名;PWD=ユーザのパスワード" の形式でアクセスしております。
この時、下記のようなエラーメッセージが表示されます。
Microsoft OLE DB Provider for SQL Server エラー ’80004005’ ユーザー ’ユーザ名’ はログインできませんでした。このユーザーは SQL Server の信頼関係接続と関連付けられていません。 /xxxIndex/SQLTest.asp, 行 59
行59が、adcon.Openのコードです。 ここでエラーとなり先に進みません。 Open処理についてのアドバイスをいただけないでしょうか。 1.SQL2005の環境で何か設定ミス、または設定不足があるのでしょうか。 2.アクセスユーザに関する設定(信頼関係)はどうすれば解決するのでしょうか。 3.adcon.Openの処理で指定しているServer="(local)の記述は正しいのでしょうか。 SQL2000の時には(local)の表記がありますが、今はServer名(SQL Server 9.0.4035 - DOMAIN\Administraor)の表記になっています。 4.アクセスデフォルトユーザを登録し、そのユーザ名とパスワードを指定しなければいけないのでしょうか。 5.saユーザが使えるようにする何らかの処置があるのでしょうか。 6.ASPプログラムを動かすための設定が不足しているのでしょうか。
初心者のため何処が悪いのか、切り分けが出来ません。 ご指導のほど、宜しくお願いいたします。
なか様、こんにちは。 当方ではSQL Server2008を使用しておりますが、パスワードなしでログインできております。 PWD=’ユーザのパスワード’ というように、シングルクオートで囲ってもダメでしょうか? psDBName="PROVIDER=SQLOLEDB;DATABASE=db名" & sDB & ";Uid=sa" と書いていますが...
だいぶ時間が掛かりましたが、解決しましたので報告のみ記載しておきます。 SQL2005のインストール時、「sa」ユーザに対してパスワードを指定 してインストールしなおした。 ASPからは「sa」ユーザでパスワードを指定してのアクセスに変更した。 その結果、Open処理でのエラーは出なくなり、DBへのアクセスが可能と なりました。 SQL2005では「sa」ユーザは、パスワード無しでのアクセスは出来なくなったのかもしれません。 以上、報告まで。 お世話になりました。
アカウントをお持ちのかたはこちら
アカウントをお持ちでないかたはこちら
ログインすることであなたの お困り事を全国の情シス担当者へ 質問することができます。
質問
現在、SQL Server 2000 のデータをSQL Server 2012に移植すべく作業を行っております。
とりあえず、SQL Server 2005に一旦アップし、それからSQL Server 2012に移植する予定です。
OSは、Windows Server2008 R2 Standardとなります。
SQL2000のデータをバックアップし、SQL2005のデータベース環境を作成、データを移植しました。
ASPプログラムからSQL2000の時には
adcon.Open "Provider=SQLOLEDB;Server="(local),Database=DB名;UID=sa;PWD="
でアクセスが可能でした。 あまり勧められない「sa」を利用しておりました。
SQL2005においては「sa」が使えないので、サーバにログイン可能なユーザ名を指定してアクセスしようとしています。
adcon.Open "Provider=SQLOLEDB;Server="(local),Database=DB名;UID=ユーザ名;PWD=ユーザのパスワード"
の形式でアクセスしております。
この時、下記のようなエラーメッセージが表示されます。
Microsoft OLE DB Provider for SQL Server エラー ’80004005’
ユーザー ’ユーザ名’ はログインできませんでした。このユーザーは SQL Server の信頼関係接続と関連付けられていません。
/xxxIndex/SQLTest.asp, 行 59
行59が、adcon.Openのコードです。 ここでエラーとなり先に進みません。
Open処理についてのアドバイスをいただけないでしょうか。
1.SQL2005の環境で何か設定ミス、または設定不足があるのでしょうか。
2.アクセスユーザに関する設定(信頼関係)はどうすれば解決するのでしょうか。
3.adcon.Openの処理で指定しているServer="(local)の記述は正しいのでしょうか。
SQL2000の時には(local)の表記がありますが、今はServer名(SQL Server 9.0.4035 - DOMAIN\Administraor)の表記になっています。
4.アクセスデフォルトユーザを登録し、そのユーザ名とパスワードを指定しなければいけないのでしょうか。
5.saユーザが使えるようにする何らかの処置があるのでしょうか。
6.ASPプログラムを動かすための設定が不足しているのでしょうか。
初心者のため何処が悪いのか、切り分けが出来ません。
ご指導のほど、宜しくお願いいたします。