1

Windows Server 2003 R2 で SQL Server Workgroup Edition を使用しています

従来の ASP ページは、システム DSN を使用して実稼働データベースにアクセスします。すべてここで働いています。

このようなコード...

<%
dbName= "ProdDB"  
userID = "PublicUser"  
pwd = "PublicUserPW"

Set objConn = Server.createObject("ADODB.Connection")  
objConn.connectionString = "DSN=MySystemDSN"  
objConn.open dbName, userID, pwd  
%>  

開発とテストのために、Enterprise Manager で ProdDB のコピーを作成しました。

  • ProdDB のバックアップ
  • ProdDB バックアップ セットから TestDB という新しいデータベースへの復元

私の理解では、復元されたデータベースにはデータの正確なコピーとユーザー、ロールなどが含まれるということでした。Enterprise Manager で両方のデータベースを比較すると、この仮定が裏付けられたようです。

だから...同じ資格情報を使用してテストコピーにアクセスし、dbNameのみを変更できると仮定しました...

<%
dbName= "TestDB"  
userID = "PublicUser"  
pwd = "PublicUserPW"

Set objConn = Server.createObject("ADODB.Connection")  
objConn.connectionString = "DSN=MySystemDSN"  
objConn.open dbName, userID, pwd  
%>  

しかし、今私のページが戻ってきました

[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません

TestDB を指すデフォルトのデータベースを使用して、新しいシステム DSN を作成することさえ試みました。まだ喜びはありません。

私は単純でばかげたことをしていると確信しています。感謝して受け取った支援。

4

1 に答える 1

0

The documentation for the open method says it's declared:

connection.Open ConnectionString, UserID, Password, Options

So it looks like you're passing in TestDB as the connection string. I usually call open without specifying any arguments. Grab a connection string from connectionstrings dot com, and:

objConn.ConnectionString = "Data Source=localhost;Initial Catalog=testdb;" & _
    "User Id=myUsername;Password=myPassword;"
objConn.Open
于 2010-09-26T13:43:50.577 に答える