잠시 동안이 문제가 해결되지 않아 더 이상 얻을 수 없으며 많은 검색을했지만 아무것도하지 않았습니다. 작품 ... ODBC를 사용하여 PHP와 Microsoft SQL 데이터베이스에 연결하려고 해요. 다음PHP를 사용하여 MS SQL 데이터베이스에 연결 : 데이터 소스 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.
모두는 (""의 값이 올바른지 파일) 설정 :
/etc/odbc.ini :
[CRMCONNECT]
Description = "CRMConnect"
Driver = FreeTDS
Trace = No
Servername = CRMSERVER
Database = "dbname"
UserName = "username"
Password = "password"
[Default]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
/etc/odbcinst.ini을 :
[FreeTDS]
Description = tdsodbc
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout = 5
CPReuse = 5
FileUsage = 1
/etc/freetds/freetds.conf :
[CRMSERVER]
host = xxx.xxx.xxx.xxx
port = 1433
tds version = 8.0
,
나는 여러 번 호스트를 두 번 점검했는데 정확하다. 나는 또한 tds 버전 7.0을 시도했지만 운이 없다.
내가 성공적으로 isql을 사용하여 서버에 연결할 수 있습니다
[email protected]:/# isql -v CRMCONNECT "user" "pass"
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
하지만 난 그냥 작동되지 수 PHP로, 내가받을 다음과 같은 오류 :
[unixODBC][Driver Manager]Data source name not found, and no default driver specified
내 ConnectionString을 :
$connection = odbc_connect("Driver={CRMCONNECT};Server=xxx.xxx.xxx.xxx;Database=dbname;","username","password");
모든 매개 변수는 이중 검사를 거쳤으며 정확합니다.
어떻게 성공적으로 isql과 연결할 수 있습니까?하지만 PHP에서는 실패합니까?
내 PHP 버전 :
PHP Version 5.4.4-14+deb7u5
odbcinst 구성 :
이unixODBC 2.2.14
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
누군가가 잘못 될 수 있는지 아이디어가있다 바랍니다. 사전
감사에서
감사
UPDATE :
[unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed
: 다른 오류의 결과입니다
$connection = odbc_connect("CRMCONNECT;Database=dbname;","user","pass");
: 나는 내 ConnectionString을 변경
나는 그것을 다시 볼 수있을거야, 감사 vinodadhikary 다시
감사합니다.
업데이트 2 :
내 연결 문자열이 잘못, 그것은 있었어야 :
$connection = odbc_connect("CRMCONNECT","user","pass");
감사 vinodadhikary!
감사합니다. 당신이 Driver={CRMCONNECT};
이 연결 문자열에 또한
$connection = odbc_connect("CRMCONNECT","username","password");
: 이미 CRMCONNECT
DSN
가 정의되어 있기 때문에
을 윈도우 10에서 제대로 작동한다는 것입니다 귀하의 대답을 주셔서 감사 드리며, 나는 수치스럽게도 나는 드라이버 대신 데이터 소스를 정의하고 있다는 것을 깨닫지 못했습니다. 나는 connectionstring을 변경하고 새로운 오류가 발생했습니다. 적어도 나는 이제 다른 오류를 보게되어 기쁘다 :-) 나는 그것을 조사 할 것이다. – peird
'; Database = dbname;'을 연결 문자열에서 제거하고 답안에있는 것과 똑같이 유지하십시오. ODBC에 이미'Database' 옵션이 정의되어 있기 때문에 데이터베이스 이름을 전달할 필요가 없습니다. – vee
Woops, 나는 그것을 놓쳤다. 그것은 지금 완전히 작동합니다, 많이 고마워요! – peird