|
|
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
Добрый день понадобилсь написать маленькое приложение используя MSSQL server я настроил соединение как через ODBC так и через MSS Microsoft SQL Server Но нам необходимо связаться с БД Oracle Настроили linked server, соединились с Oracle создал вьюху, например CREATE VIEW scfweb1.VW_TEST AS Select * From Openquery(SCF_CREW, 'select Imo_no from scfcrew_dba.vessel') Дальше пошли засады: если я подключен через MSS Microsoft SQL Server, то мне не удается создать datawindow на данную VIEW, и выскакивает сообщение об неустановленном ansi_nulls ON и ansi_warnings on При подключении через ODBC, я в SQLCA.DBParm = "ConnectString=set ansi_nulls on;set ansi_warnings on'" это могу прописать и нормально работать. Ну соответсвенно если программа при запуске подключается через ODBC - то данные выбираются, а если через MSS Microsoft SQL Server - то опять ругань на неустановленные параметры. Вопрос, а можно ли как то прописать при подключении через MSS Microsoft SQL Server, чтобы устанавливались необходимые параметры ansi_nulls on ansi_warnings on'???? Уж что-то не хочется возвращаться к ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:06 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
Pasha wrote: > При подключении через ODBC, я в SQLCA.DBParm = "ConnectString=set > ansi_nulls on;set ansi_warnings on'" это могу прописать и нормально > работать. > Ну соответсвенно если программа при запуске подключается через ODBC - то > данные выбираются, а если через MSS Microsoft SQL Server - то опять > ругань на неустановленные параметры. А так попробуй: EXECUTE IMMEDIATE 'SET ANSI_NULLS ON' ; EXECUTE IMMEDIATE 'SET ANSI_WARNINGS ON' ; Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:15 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
пробовал и при подключении и так execute immediate 'set ansi_nulls on '; execute immediate 'set ansi_warnings on '; dw_1.SetTrans(SQLCA) dw_1.Retrieve() и так dw_1.SetTrans(SQLCA) execute immediate 'set ansi_nulls on '; execute immediate 'set ansi_warnings on '; dw_1.Retrieve() Безтолку, при подключении через MSS Microsoft SQL Server выдает ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:27 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
>execute immediate 'set ansi_warnings on '; >dw_1.SetTrans(SQLCA) а попробовать SetTransObject(sqlca) а то ведь при SetTrans происходит новый коннект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:36 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
и с dw_1.SetTransobject(SQLCA) все варианты пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:47 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
кстати, когда я делаю так: execute immediate 'set ansi_nulls on '; execute immediate 'set ansi_warnings on '; dw_1.SetTransObject(SQLCA) или dw_1.SetTransObject(SQLCA) execute immediate 'set ansi_nulls on '; execute immediate 'set ansi_warnings on '; то появляется следующее сообщение; The operation could not be performed because the Ole Db Provider 'OraOleDb.Oracle' was unable to begin adisributed transaction ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 13:55 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
Попрубуй еще: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 14:16 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
cbuselПопрубуй еще: Код: plaintext спасибо помогло в итоге конекшин SQLCA.DBMS = "MSS Microsoft SQL Server" SQLCA.AutoCommit = True SQLCA.Database = is_Database SQLCA.LogPass = is_LogPass SQLCA.ServerName = is_ServerName SQLCA.LogId = is_LogId код dw_1.SetTransObject(SQLCA) execute immediate 'set ansi_nulls on '; execute immediate 'set ansi_warnings on '; dw_1.Retrieve() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 14:18 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
Поторопился sqlca.autocommit=true не лучшем образом для остальной части программы а можно как нить в рантайме у соединения поменять autocommit execute immediate 'SET IMPLICIT_TRANSACTIONS ON/OFF не прокатило а также не решена проблема, когда программируешь Чтобы создать DW необходимо иметь соединение ODBC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:22 |
|
||
|
Нужна помощь PB9 + MSSQL2000
|
|||
|---|---|---|---|
|
#18+
почему не лучшим образом? autocommit для MSSQL должен быть True практически всегда, за редким исключением. выставлять True или False можно в любой момент. BEGIN TRAN при необходимости PB сделает сам. Зорин А. "I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2005, 15:29 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33451939&tid=1337963]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
103ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 446ms |

| 0 / 0 |
