2012-07-03 4 views
2

저는 firebird db와 Delphi XE2를 사용하여 클라이언트/서버 응용 프로그램을 개발했습니다. 문제는 클라이언트의 TSQLConnection 구성 요소가 자동으로 HostName 속성을 localhost로 설정한다는 것입니다. 클라이언트가 처음 시작할 때 HostName을 설정하는 옵션을 사용자에게 제공하는 코드를 작성하는 방법을 알고 싶습니다. Delphi XE2를 사용하여 Firebridc 클라이언트에서 서버의 HostName을 설정하는 방법

나는 클라이언트에 데이터 모듈에 TSQLConnection 컴포넌트를 배치했다. 기본 폼에

, 나는 사용자가 텍스트 상자에 입력 한 값 할당 다음 코드를 사용하여 호스트 이름의 때에 프로퍼티 설정하는 사용자에 대한 옵션을 배치 :

Database.SQLServer.Params.Add('HostName='+edtHostName.Text); 

을하지만 보인다 프로그램 번 TSQLConnection 구성 요소가 시작되어 호스트 이름이 localhost로 설정되고 사용자 호스트 이름으로 설정할 수 없습니다. 누군가가 나에게

답변

6

호스트 이름은 dbexpress 파이어 버드 연결에 유효한 속성이 아니며 대신 DataBase 속성을 사용하여 이러한 형식 중 하나를 사용하여 호스트를 지정해야합니다.

1)는 데이터베이스를

/path/to/database.fdb 

그래서 사용 DBEXPRESS를 명시 할 호스트 데이터베이스

server_host:/path/to/database.fdb 

3)을 명시 할 포트, 호스트 및 데이터베이스

server_host/port:/path/to/database.fdb 

2)을 명시 할 이 모양은 다음과 같습니다.

SQLConnection1.Params.Values['Database']:='192.168.1.125/3050:C:\Program Files (x86)\Firebird\Firebird_2_0\examples\empbuild\EMPLOYEE.FDB'; 
+0

IP 주소를 사용해야합니까, 예를 들어 SQLConnection1.Params.Values ​​[ 'Database'] : = 'HostName/3050 : C : \ Program Files (x86) \ Firebird \ Firebird_2_0과 같은 호스트 이름을 입력 할 수 있습니까? \ examples \ empbuild \ EMPLOYEE.FDB '; – Japster

+0

호스트가 LAN에 있으면 문제없이 호스트 이름을 사용할 수 있지만 항상 호스트의 IP를 사용하는 것이 좋습니다. – RRUZ

0

확인 embarcadero Wiki 도와주세요 수있는 것은

지정 연결이

엔 params 속성은 이름 - 값 쌍을 나열하는 문자열 목록 매개 변수 때로는 유용합니다. 각 쌍의 형식은 Name = Value입니다. 여기서 Name은 매개 변수의 이름이고 이며 Value는 할당 할 값입니다. 특정 매개 변수 은 사용중인 데이터베이스 서버에 의존해야합니다. 그러나 하나의 특정 매개 변수 인 Database가 모든 서버에 필요합니다. 해당 값 은 사용중인 서버에 따라 다릅니다. 예를 들어, 인터베이스와 함께, 데이터베이스는 DB2와 함께, 그것은 클라이언트 측 노드 이름하면서, 는 TNSNames.ora의 항목입니다 ORACLE로 .gdb 파일의 이름이다. 기타 일반적인 매개 변수에는 User_Name ( 로깅 할 때 사용할 이름), Password (User_Name의 암호), HostName (컴퓨터 이름 또는 서버의 IP 주소) 및 TransIsolation ( 도 귀하가 소개하는 거래는 다른 거래에 의해 변경된 내용을 인식하고 있습니다.) . 드라이버 이름을 지정할 때 Params 속성에는 해당 드라이버에 필요한 모든 매개 변수가 사전로드되어 유형이 기본값으로 초기화됩니다. 또한 응용 프로그램의 필요에 따라 다른 연결 매개 변수를 Params 문자열 목록에 추가 할 수 있습니다. 예를 들어 MSSQL 드라이버를 사용하여 MARS (Multiple Active Result Set) 을 SQL 연결에 지원하려면 Mars_Connection이라는 키를 추가하고 그 값을 True로 설정해야합니다. 에 Params는 문자열 목록이기 때문에, 디자인 타임에, 당신은 문자열 목록을 편집기를 사용하여 매개 변수를 편집 할 오브젝트 인스펙터의에 Params 속성 을 두 번 클릭 할 수 있습니다. 런타임에 Params.Values ​​속성을 사용하여 값을 개별 매개 변수에 할당합니다.

관련 문제