열려 있는 데이터베이스가 이미 있는
SQLConnection
인스턴스에서 추가 데이터베이스에 대한 연결을 열려면
SQLConnection.attach()
메서드를 사용합니다.
attach()
메서드 호출에서 name 매개 변수를 사용하여 연결된 데이터베이스에 이름을 지정합니다. 이 데이터베이스를 조작하기 위해 문을 작성하는 경우 해당 이름을 접두어로 사용하여(
database-name.table-name
형식 사용) SQL 문에서 테이블 이름을 정규화함으로써 명명된 데이터베이스에서 해당 테이블을 찾을 수 있음을 런타임에 나타내야 합니다.
동일한 SQLConnection 인스턴스에 연결된 여러 데이터베이스의 테이블이 포함된 하나의 SQL 문을 실행할 수 있습니다. 트랜잭션이 SQLConnection 인스턴스에서 만들어지면 SQLConnection 인스턴스를 사용하여 실행되는 모든 SQL 문에 적용됩니다. 이는 SQL 문이 실행되는 연결된 데이터베이스에 관계없이 해당하는 사실입니다.
또는 응용 프로그램에서 여러 SQLConnection 인스턴스를 만들 수도 있습니다. 각 SQLConnection 인스턴스는 하나 이상의 데이터베이스에 연결되어 있습니다. 그러나 동일한 데이터베이스에 대한 여러 연결을 사용하는 경우 데이터베이스 트랜잭션이 여러 SQLConnection 인스턴스에서 공유되지 않는 점을 명심해야 합니다. 따라서 여러 SQLConnection 인스턴스를 사용하여 동일한 데이터베이스 파일에 연결하는 경우 두 연결의 데이터 변경 사항이 예상되는 방식으로 적용되지 않을 수도 있습니다. 예를 들어, 두
UPDATE
또는
DELETE
문이 서로 다른 SQLConnection 인스턴스를 통해 동일한 데이터베이스에 대해 실행되는 경우 한 작업이 수행된 후 응용 프로그램 오류가 발생하면 데이터베이스 데이터가 되돌릴 수 없고 데이터베이스와 응용 프로그램의 무결성에 영향을 미칠 수도 있는 중간 상태로 남아 있을 수 있습니다.
|
|
|