Автор | Сообщение |
|
| |
Пост N: 55
Зарегистрирован: 14.01.09
|
|
Отправлено: 27.09.11 12:20. Заголовок: Помогите разобраться с MSSQL
есть необходимость цепляться к удаленной MSSQL базе. Пытаюсь делать так: #include "simpleio.ch" #include "hbrddsql.ch" REQUEST SDDODBC, SQLMIX PROC main() RDDSETDEFAULT( "SQLMIX" ) SET( _SET_DATEFORMAT, "yyyy-mm-dd" ) ? "Connect:", RDDINFO( RDDI_CONNECT, { "ODBC", "Driver={SQL Server};Server=10.10.0.1:1433;database=DB1;uid=WH1;pwd=WH1;" }) INKEY( 0 ) RETURN Выдает 0 - не конектится! причем через LibraOffice Base с JDBC с моей машины коннект идет. ЧДНТ?
|
|
|
Новых ответов нет
[см. все]
|
|
|
| |
Пост N: 279
Зарегистрирован: 11.06.10
|
|
Отправлено: 27.09.11 13:58. Заголовок: Когда-то подключался..
Когда-то подключался к msde через ado LOCAL oRs := TOleAuto():New( "ADODB.Recordset" ) LOCAL c1 := "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=NextAccess;Data Source=STOP" oRs:Open( "SELECT colDepartmentName FROM tblTreeOrganization ORDER BY colDepartmentName",c1) и т.д.
|
|
|
|
| |
Пост N: 56
Зарегистрирован: 14.01.09
|
|
Отправлено: 27.09.11 15:50. Заголовок: "и т.д." это..
"и т.д." это для умных. мне бы примерчик рабочий, чтобы просто показал, что коннект есть. Дальше я уж сам попробую
|
|
|
|
| |
Пост N: 280
Зарегистрирован: 11.06.10
|
|
Отправлено: 27.09.11 16:44. Заголовок: Вот рабочий пример: ..
Вот рабочий пример: #include "dbinfo.ch" #include "simpleio.ch" #include "hbrddsql.ch" REQUEST SQLMIX, SDDODBC PROC main() REQUEST HB_CODEPAGE_UA866 HB_CDPSELECT( "UA866" ) clField := "Select CONVERT(VARCHAR,r.colRegistrationTime,121) as RegistrationTime,"+; "e.colSurname,"+; "e.colName,"+; "e.colMiddleName,"+; "e.colTabNumber,"+; "o.colDepartmentName,"+; "p.colPointName,"+; "CASE WHEN r.colDirection = 1 THEN 'вхiд' "+; " WHEN r.colDirection = 2 THEN 'вихiд' "+; " WHEN r.colDirection = 0 THEN '0' "+; "END as rstatus,"+; "s.colName as status1,"+; "case when r.colStatusNumber = 0 then '0' "+; " when r.colStatusNumber = 5 then '5' "+; " when r.colStatusNumber = 1 then '1' "+; " when r.colStatusNumber = 3 then '3' "+; " when r.colStatusNumber = 28 then '28' "+; " when r.colStatusNumber = 34 then '34' "+; "end as status2" clFrom := " FROM tblAllRegistrations r,"+; " tblEmployees e,"+; " tblTreeOrganization o,"+; " tblControlPoints p,"+; " tblRegStatuses s" clWhere := " WHERE r.colCardNumber=e.colCardNumber AND"+; " e.colDepartment = o.colNodeNo AND"+; " r.colPointNumber = p.colPointNumber AND"+; " r.colStatusNumber = s.colStatusNumber" st1 := clField + clFrom + clWhere rddSetDefault( "SQLMIX" ) SET( _SET_DATEFORMAT, "yyyy-mm-dd" ) nConnection := RDDINFO( RDDI_CONNECT, { "ODBC", "Server=192.168.x.x;Driver={SQL Server};dsn=MQIS;Uid=sa;database=NextAccess;pwd=" }, 'SQLMIX' ) IF nConnection == 0 ? "Unable connect to server", RDDINFO( RDDI_ERRORNO ), RDDINFO( RDDI_ERROR ) RETURN else ?"nConnection := " ,nConnection ENDIF ? "Use:", dbUseArea( .T. , , st1, "test" ) ? "Alias:", Alias() ? test->(reccount()) ? test->colSurname,test->colName Inkey( 0 ) RETURN Результат: C:\dev\_svn\harbour\contrib\sddodbc\>sq2.exe nConnection := 1 Use: .T. Alias: TEST 1 ??????? ?????
|
|
|
|
| |
Пост N: 57
Зарегистрирован: 14.01.09
|
|
Отправлено: 28.09.11 09:50. Заголовок: Нужно ли устанавлива..
Нужно ли устанавливать какой-то сторонний драйвер ODBC на UBUNTU? Я получаю сообщение "IM002 [unixODBC][Driver Manager]Data source name not found, and no default driver specified" Может ODBC на локальной машине надо настроить?
|
|
|
|
| |
Пост N: 281
Зарегистрирован: 11.06.10
|
|
Отправлено: 28.09.11 10:03. Заголовок: dimao пишет: Может ..
dimao пишет: цитата: | Может ODBC на локальной машине надо настроить? |
| Я тестил на винде, и в администраторе источников odbc создал пользовательский dsn с именем MQIS вот AlexMyr пишет:
|
|
|
|
| |
Пост N: 58
Зарегистрирован: 14.01.09
|
|
Отправлено: 28.09.11 15:21. Заголовок: ,короче, тестирую на..
,короче, тестирую на Убунте. Установил ODBC, FreeTDS. cat /etc/odbc.ini [wts7] Driver = MSSQL Description = ODBC connection via FreeTDS Trace = No Servername = wts7 Database = PRD1 cat /etc/odbcinst.ini [MSSQL] Description = Driver = /usr/lib/odbc/libtdsodbc.so Driver64 = Setup = /usr/lib/odbc/libtdsS.so Setup64 = UsageCount = 1 CPTimeout = CPReuse = cat /etc/freetds/freetds.ini [wts7] host = 192.168.X.X port = 1433 tds version = 7.0 cat ~/odbc-test.prg #include "dbinfo.ch" #include "simpleio.ch" #include "hbrddsql.ch" REQUEST SQLMIX, SDDODBC PROC main() rddSetDefault( "SQLMIX" ) SET( _SET_DATEFORMAT, "yyyy-mm-dd" ) nConnection := RDDINFO( RDDI_CONNECT,{"ODBC","Server=192.168.x.x;Driver={FreeTDS};dsn=wts7;Uid=sa;database=PRD1;pwd=sql" },'SQLMIX') IF nConnection == 0 ? "Unable connect to server:", RDDINFO( RDDI_ERRORNO ),":", RDDINFO( RDDI_ERROR ) RETURN else ?"nConnection := " ,nConnection ENDIF RETURN причем sqsh -S wts7 -U sa -P sql работает, то есть не выдает ошибки! Может, кто посоветует, что делать ? ЗЫ : Driver={FreeTDS} и Driver={SQL Server} - пробовал. результат один! (инструкция нашел тут http://lambie.org/2008/02/28/connecting-to-an-mssql-database-from-ruby-on-ubuntu/)
|
|
|
|
| |
Пост N: 282
Зарегистрирован: 11.06.10
|
|
Отправлено: 28.09.11 15:32. Заголовок: dimao пишет: ЗЫ : D..
dimao пишет: цитата: | ЗЫ : Driver={FreeTDS} и Driver={SQL Server} - пробовал. результат один! |
| а если так Driver={MSSQL}
|
|
|
|
| |
Пост N: 59
Зарегистрирован: 14.01.09
|
|
Отправлено: 28.09.11 15:53. Заголовок: То же самое. пробова..
То же самое. пробовал так: nConnection := RDDINFO( RDDI_CONNECT,{"ODBC","Driver={MSSQL};dsn=wts7;Uid=sa;database=PRD1;pwd=sql" },'SQLMIX') тоже не пашет. чего-то еще я не знаю ;-(
|
|
|
|
| |
Пост N: 284
Зарегистрирован: 11.06.10
|
|
Отправлено: 28.09.11 16:08. Заголовок: Может тут что-то ест..
|
|
|
|
| |
Пост N: 60
Зарегистрирован: 14.01.09
|
|
Отправлено: 28.09.11 16:24. Заголовок: Не. видно не судьба..
Не. видно не судьба. тесты настроек через isql и sqsh работают. доступ к БД есть. По всему видно, проблема в описании подключения из Харбора.
|
|
|
|
| |
Пост N: 61
Зарегистрирован: 14.01.09
|
|
Отправлено: 29.09.11 12:44. Заголовок: ok, Попытаю счастья ..
ok, Попытаю счастья на harbour-users листе. Может Массимо что-то подскажет. Если получится - сообщу.
|
|
|
|