문제

제목은 거의 모든 것을 말합니다. SQLConnection을 작성한 다음 데이터베이스를 열지 않고 해당 연결을 확인하고 싶습니다. 그 시점에서 아직 어디에 연결할지 모르겠습니다. 그렇게 할 수 있습니까? SQLConnection 클래스에는 데이터베이스 속성에서 설정 한 데이터베이스를 열려는 'Open'멤버가 있으며 설정하지 않은 경우 SQLServer는 마스터 DB와 함께 시도합니다. 문제는 내가 연결하려는 사용자 (machine aspnet)가 마스터 DB가 아닌 일부 데이터베이스 (아직 모르는)에 액세스 할 수 있다는 것입니다.

안부, 세바

도움이 되었습니까?

해결책

임시 DB에 연결하십시오. 모든 사람은 TempDB에 accecs를 가지고 있으므로 액세스를 위해 자신을 인증 할 수 있습니다. 나중에 실제 데이터베이스를 알면이 속성을 변경하여 원하는 DB에 연결할 수 있습니다.

다른 팁

이것이 당신이 필요한 것인지 확실하지 않습니다.

사용자가 SQL Server 2005에서 데이터베이스에 액세스 할 수 있는지 확인하십시오.

SELECT HAS_DBACCESS('Northwind');

has_dbaccess는 사용자가 지정된 데이터베이스 (BOL)에 액세스 할 수 있는지에 대한 정보를 반환합니다.

현재 사용자가 액세스 할 수있는 모든 데이터베이스를 찾으십시오.

SELECT [Name] as DatabaseName from master.dbo.sysdatabases
WHERE ISNULL(HAS_DBACCESS ([Name]),0)=1
ORDER BY [Name]

서비스가 활성화되어있는 경우에만 알아야하는 경우 소켓을 통해 포트로 코넷을 시도하여 열린지 확인할 수 있습니다.

Just curious... What information will you be able to verify if you don't know the precise database you need to connect to? Many things that could go wrong with the "real" database would be untestable from this sort of test connection, such as connectivity or security.

I don't know whether you got your answers but as we all look here for answers I hope this is what you were looking for

dim con as new sqlconnection
con.connectionstring="<<put your conn string here>>"
'try...catch block fires exception if the con is not successfully opened
try
con.open()
catch ex as exception
msgbox ex.message
end try
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top