質問
現在、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プログラムを動かすための設定が不足しているのでしょうか。
初心者のため何処が悪いのか、切り分けが出来ません。
ご指導のほど、宜しくお願いいたします。