Azure AppService의 Ruby 이미지에서 tiny_tds를 사용할 수 없음
개요
타이틀대로입니다만, Azure의 Appservice에서 사용할 수 있는 Ruby의 디폴트 이미지라고 freeTDS의 버전이 낡기 때문에,
tiny_tds를 사용하여 SQLServer에 연결할 수 없습니다.
대처법
Appservice 콘솔 등에서는 대처 불가, 자전의 컨테이너 이미지 사용합시다.
루비의 기본 이미지 인 github에 PR이 올라가는 것처럼 보이지만 아직 처리되지 않았습니다.
이것이 병합되면 사용할 수 있을까?
htps : // 기주 b. 코 m / 아즈레 - 아 p-se r
이하, 여러가지 검증해 본 것.
AppService 컨테이너를 로컬로 사용해보기
여러가지 조사하면 docker 이미지가 공개되고 있다.
htps : // 기주 b. 코 m/아즈레-아 p-세 rゔぃ세/루 by
(DockerHub에도 있음)
이것을 사용해 여러가지.
여기 로컬로 사용하는 방법이 있었기 때문에 그것을 실행.
htps : // 기주 b. 코 m/아즈레-아 p-세 rゔぃ세/테아 mbぉg/bぉb/마s r/도 cs/눈꺼풀 s. md
docker pull appsvc/<ImageTag>
docker run \
-d -it -P \
--volume $(pwd):/home/site/wwwroot \
--env PORT=8080 \
--publish 8080:8080 \
appsvc/<ImageTag>
curl localhost:8080
docker exec -it <container> bash
이것으로 일단은 움직인다. (별로 rails 앱의 위치가 아니더라도 괜찮아 보인다)
그리고
localhost:8080
를 두드리면 AppService의 친숙한 화면이 나온다.여기에서 bash로 컨테이너에 들어가서 여러가지 확인.
$ apt show freetds-bin
Package: freetds-bin
Source: freetds (0.91-6)
Version: 0.91-6+b1
Installed-Size: 750 kB
Maintainer: Steve Langasek <[email protected]>
Depends: libc6 (>= 2.17), libgnutls-deb0-28 (>= 3.2.10-0),
libgssapi-krb5-2 (>= 1.10+dfsg~), libodbc1 (>= 2.3.1), libreadline6 (>= 6.0), libsybdb5 (>= 0.82),
libtinfo5, freetds-common
Homepage: http://www.freetds.org/
Tag: interface::commandline, role::program
Section: database
Priority: optional
Download-Size: 217 kB
APT-Manual-Installed: yes
APT-Sources: http://deb.debian.org/debian/ jessie/main amd64 Packages
Description: FreeTDS command-line utilities
(freetds-dev도 비슷한 느낌.)
그래서 0.91의 freets가 들어있다. 그러나 최근 tiny_tds에서는
Do you have FreeTDS 0.95.80 or higher installed?
라든지 말해진다.tiny_tds의 버전을 떨어뜨리면 들어갈지도 모르지만, 0.91에 대응하고 있는 버전을 찾아내는 것이 힘들기 때문에 여기에서 중단.
그건 그렇고, bash로 들어갈 때, gem은 여기에 있습니다.
/usr/local/.rbenv/versions/2.6.2/bin
(Ruby 버전 대체)마지막으로
빨리 병합해 주었으면 한다.
Reference
이 문제에 관하여(Azure AppService의 Ruby 이미지에서 tiny_tds를 사용할 수 없음), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hatobeam75/items/cead0a90fd8e7b71177d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)