사설 토토다음이 있습니다ODBC데이터베이스 인터페이스 적어도 일부 플랫폼에서 지원됩니다.사설 토토4.4.2는 다음에서 시연되었습니다. Linux포스트그레SQL7.0 사용 중psqlODBC다음에 포함된 드라이버포스트그레SQL배포.
사설 토토반드시 액세스할 수 있도록 올바르게 구성되었습니다.포스트그레SQL ODBC소프트웨어 드라이버.
활성화 중사설 토토데이터베이스 액세스
이 지침은 4.4.2 릴리스에 대한 것입니다.사설 토토켜짐리눅스. 참조Linux 시스템 관리자자세한 내용은 온라인 도서를 참조하세요. 자세한 정보입니다.
수정해야 합니다.axnet.cnf그래서 그elfodbc찾을 수 있습니다libodbc.so(그ODBC드라이버 관리자) 공유 라이브러리. 이 라이브러리는 다음 항목에 포함되어 있습니다.사설 토토배포하지만axnet.cnf수정 필요 올바른 위치를 가리킵니다.
루트로서 파일을 편집하십시오.applixroot/applix/axdata/axnet.cnf.
하단에axnet.cnf, 시작하는 줄을 찾으세요 와 함께
#libForelfodbc /ax/...
읽을 수 있도록 줄 변경
libFor elfodbcapplixroot/applix/axdata/axshlib/lib
그것이 말해줄 것이다elfodbc이 디렉토리에서 다음을 찾으려면ODBC지원 라이브러리. 일반적으로애플릭스설치됨 에서/선택따라서 전체 경로 될 것이다/opt/applix/axdata/axshlib/lib하지만 설치한 경우애플릭스그럼 다른 곳에서 그에 따라 경로를 변경하십시오.
만들기.odbc.ini다음과 같이 설명됨섹션 7.3. 플래그를 추가할 수도 있습니다.
TextAsLongVarchar=0
데이터베이스 관련 부분.odbc.ini그래서 텍스트 필드는 다음과 같이 표시됨**BLOB**.
테스트 중사설 토토ODBC 연결
가르쳐주세요애플릭스 데이터
다음을 선택하세요포스트그레SQL관심 있는 데이터베이스.
선택질의-서버 선택.
선택ODBC그리고 클릭찾아보기. 는 구성한 데이터베이스.odbc.ini표시되어야 합니다. 확인하세요 그호스트:필드는 비어 있음(그렇지 않은 경우,axnet연락을 시도하겠습니다axnet켜짐 데이터베이스를 찾기 위한 다른 머신).
실행된 상자에서 데이터베이스를 선택하십시오 으로찾아보기다음을 클릭하세요확인.
로그인 시 사용자 이름과 비밀번호를 입력하세요 식별 대화 상자 및 클릭확인.
당신은 볼 것입니다elfodbc 시작 중 서버데이터 왼쪽 하단에 창. 오류 대화 상자가 나타나면 디버깅을 참조하세요. 아래 섹션을 참조하세요.
그"준비됨"메시지는 데이터 창의 왼쪽 하단에 나타납니다. 이 이제 쿼리를 입력할 수 있음을 나타냅니다.
다음에서 테이블을 선택하세요질의-테이블 선택를 선택한 다음쿼리-질의데이터베이스에 액세스합니다. 는 표의 처음 50개 정도의 행이 나타나야 합니다.
만들기를 시도하는 동안 다음 메시지가 나타날 수 있습니다.ODBC연결을 통해Applix 데이터:
elfodbc찾을 수 없음libodbc.so. 확인하세요axnet.cnf.
libodbc.so다음을 찾을 수 없습니다 드라이버 목록:.odbc.ini. 설정을 확인하세요.
다른 이유로 인해 드라이버 프로세스가 종료되었습니다 문제. 최신 버전이 없을 수도 있습니다.PostgreSQL ODBC패키지.
9월 릴리스사설 토토4.4.1(첫 번째 릴리스
공식적으로ODBCLinux의 지원)은 사용자 이름을 지정할 때 문제를 표시합니다.
길이가 8자를 초과합니다. 문제
Steve Campbell이 제공한 설명(<scampbell@lear.com).
저자:제공: 스티브 캠벨 (
<scampbell@lear.com), 1998-10-20
그axnet프로그램의 보안 시스템이 조금 의심스러운 것 같습니다.axnet사용자를 대신하여 작업을 수행합니다. 그리고 진정한 다중 사용자 시스템에서는 실제로 다음과 같이 실행되어야 합니다. 루트 보안(각 사용자의 디렉터리에서 읽기/쓰기가 가능함) 그러나 우리는 이것을 추천하기를 주저합니다. 왜냐하면 우리는 그것을 가지고 있지 않기 때문입니다. 이로 인해 어떤 보안 허점이 발생하는지 알 수 있습니다.
연결 문제를 디버깅하는 좋은 도구 중 하나는 유닉스 시스템 유틸리티스트레스.
strace로 디버깅
시작사설 토토.
시작스트레스켜짐axnet프로세스. 예를 들어, 만일
$ ps -aucx | 그렙 도끼
쇼
캐리 10432 0.0 2.6 1740 392 ? 일 10월 9일 0:00 axnet 캐리 27883 0.9 31.0 12692 4596 ? S 10:24 0:04 도끼
그럼 실행하세요
$ strace -f -s 1024 -p 10432
다음을 확인하세요스트레스출력.
캐리의 메모:많은 오류 메시지 에서사설 토토이동 에stderr, 잘 모르겠습니다. 어디서stderr전송되었으므로스트레스찾는 방법입니다 밖으로.
예를 들어, 다음을 얻은 후할 수 없습니다 서버에서 게이트웨이 실행, 나는 달렸다스트레스켜짐axnet그리고 얻었다
[pid 27947] open("/usr/lib/libodbc.so", O_RDONLY) = -1 ENOENT (해당 파일이나 디렉터리 없음)
[pid 27947] open("/lib/libodbc.so", O_RDONLY) = -1 ENOENT(해당 파일이나 디렉터리 없음)
[pid 27947] write(2, "/usr2/applix/axdata/elfodbc: 'libodbc.so' 라이브러리를 로드할 수 없습니다.\n", 61) = -1 EIO(I/O 오류)
그래서 무슨 일이 일어나고 있는 걸까요?애플릭스 엘포드BC다음을 검색 중입니다.libodbc.so, 찾을 수 없습니다. 그렇기 때문에axnet.cnf변경이 필요합니다.
다음을 통과하기 위해사설 토토 데이터 튜토리얼, 다음을 수행하는 샘플 테이블을 생성해야 합니다. 튜토리얼은 다음을 참조합니다. 테이블을 생성하는 데 사용되는 ELF 매크로 많은 데이터베이스 열에서 NULL 조건을 사용하려고 시도합니다. 그리고PostgreSQL하지 않습니다 현재 이 옵션을 허용합니다.
이 문제를 해결하려면 다음을 수행할 수 있습니다:
수정 중사설 토토데모
복사/opt/applix/axdata/eng/Demos/sqldemo.am로컬 디렉토리에.
이 로컬 사본 편집sqldemo.am:
검색 대상null_clause = "NULL".
다음으로 변경하세요.null_clause = "".
시작Applix 매크로 편집자.
열기sqldemo.am파일 에서매크로 편집자.
선택파일-컴파일 및 저장.
종료매크로 편집자.
시작애플릭스 데이터.
선택*-매크로 실행.
값을 입력하세요sqldemo그러면 클릭확인.
상태 표시줄에 진행 상황이 표시되어야 합니다. 데이터 창(왼쪽 하단).
이제 데모 테이블에 접근할 수 있습니다.
당신은 데이터베이스 로그인에 대한 정보를 추가할 수 있으며 표준에 대한 비밀번호애플릭스시작 매크로 파일. 이것은 예~/axhome/macros/login.am파일:
매크로 로그인
set_set_system_var@("sql_username@","tgl")
set_system_var@("sql_passwd@","no$way")
엔드 매크로
| 주의 |
|
다음의 파일 보호에 주의해야 합니다. 사용자 이름과 비밀번호가 포함된 모든 파일 정보. |