Objeto de conexão Gupta às Bases de Dados

Embed Size (px)

Citation preview

Objetos de conexo de Gupta s bases de dados20-6204-0004

n c D y I6 7 -e oCoonnnnoencttigngg iuGuupattaapObnjcOcsttiseocCCConnenctaccasiitanseesGsGppataa aO bajjbcatcbtsstsoeosoDattaabbaasssesssr5 -d- x n5 - xno nCcecicnt en g Gpu p tC o Oa jeecctttnCtoonaotnaetetabcOnibnjegsGuusstttaOO Oejejcetcat stotDDG ttaobsbseesse 3 - 1 d- C t G G O Oj b t c s t os n n ecatnaag eG p t o b jb e t t tD D o t a b tggg G t u CG n n ba t ns b s D a a aa s 7 3 -4 C C -n enet n iincG n gt p u bn e jee b j s gtCooDtaatnDitbaiesgGau uep p t Ob tec s t o Daa l atbaa s e I7 2 e 2 3 1 a t b oo u p e i n D

Marcas registradasCentura, o logotipo de Centura, Centura net.db, colaborador de correia fotorreceptora de Centura, Gupta, o logotipo de Gupta, Gupta pr, o logotipo psto Gupta, fatos rpidos, objeto Nationalizer, procura, QuickObjects, SQL/API, SQLBase, troca de SQLBase, SQLConsole, SQLGateway, SQLHost, SQLNetwork, SQLRouter, SQLTalk, gerente do objeto da equipe, RDM, e Velocis marcas registradas do LLC das tecnologias de Gupta e pode ser registado nos Estados Unidos da Amrica e/ou em outros pases. Todas as marcas registradas TeamWindows, ReportWindows e EditWindows, e a marca registada SQL Windows, so exclusivamente usadas e licenciadas pelo LLC de Gupta Tecnologia. Adobe uma marca registrada de Adobe Systems, incorporada. IBM, OS/2, NetBIOS, e o AIX so marcas registadas de Internacional Negcio Mquinas Corpora. Java e os solaris so marcas registradas de Sun Microsystems, incorporadas. Microsoft, Internet Explorer, o usurio de informao do Internet, o DOS, a vitria 32, Windows, e Visual Basic so marcas registadas ou marcas registradas de Microsoft Corporation nos Estados Unidos da Amrica e/ou em outros pases. O FastTrack e o navegador de Netscape so marcas registradas do corpora de Netscape Communications. Novell uma marca registada, e NetWare uma marca registrada de Novell, incorporada. RoboHELP uma marca registrada de Macromedia Corpora. Todos nomes restantes do produto ou do servio mencionados nisto so marcas registradas ou marcas registadas de seus proprietrios respectivos.

Direitos reservados 2004 dos direitos reservados pelo LLC de Gupta Tecnologia. Todos os direitos reservados.Objetos de conexo de Gupta s bases de dados

20-6204- 3 de junho de 2004

ndicesPrefcio 9 1 vista geral 1Arquitetura 1-2 do cliente/usurio Autocommit 1-3 Variveis do ligamento 1-5 Simultaneidade 1-5 Parmetros da conectividade 1-5 Conectar a ordem 1-6 da busca Preservao 1-7 do contexto do cursor O resultado da parte frontal ajusta 1-8 Punhos, contextos, e conexes 1-9 Tipos 1-10 da coluna da IMAGEM Nveis 1-12 da isolao Travar o intervalo de parada 1-14 Anula, cordas vazias, e espaos 1-15 Actualizaes posicionadas 1-17 Modalidade ajustada 1-18 do resultado Palavras-chaves 1-21 de SQL.INI Procedimentos armazenados 1-21 Transaes 1-22

2 inicializando e testando Sua conexo 1Sumrio de que para fazer 2-2 Antes de conectar 2-2 Configurando uma origem de dados 2-3 de ODBC

Aplicaes de inicializao de SQLWindows 2-5 Testando a conexo 2-8 Conexo a Sybase 2-8 Conexo a Oracle 2-9 Especific a base de dados em sua aplicao 2-10 Problemas da pesquisa de defeitos 2-10 Aplicaes de amostra 2-15

3 conectando a Usurio 1 de Microsoft SQLAntes de voc comear 3-2 Autocommit 3-2 Preservao 3-2 do contexto do cursor Os tipos de dados suportaram 3-2 Cordas vazias 3-4 Nveis da isolao 3-4 Palavras-chaves como nomes da tabela e de coluna 3-5 Travar o intervalo de parada 3-5 Conectividade nativa 3-5 Actualizaes posicionadas 3-6 Modalidade ajustada 3-6 do resultado AJUSTAR a indicao 3-6 Semntica 3-7 de SqlDirectoryByName Palavras-chaves de SQL.INI 3-7

4 conectando a Oracle 1Antes de voc comear 4-2 Autocommit 4-2 Preservao 4-2 do contexto do cursor Tipos de dados 4-3 Autoridade 4-3 do DBA PL/SQL dinmico 4-4 Cordas vazias 4-4 Nveis da isolao 4-4

Travar o intervalo de parada 4-5 Trfego de mensagem de aperfeioamento 4-5 Actualizaes posicionadas 4-5 Modalidade ajustada 4-5 do resultado Palavras-chaves de SQL.INI 4-6 Procedimentos armazenados 4-12 Transaes, disconexes, e sadas 4-16 Redigindo os dados CRUS 4-16 Pesquisa de defeitos no linux 4-18

5 conectando a Sybase 1Antes de voc comear 5-2 Autocommit e transaes acorrentadas 5-2 Variveis do ligamento 5-3 Clusula 5-4 do CLCULO Preservao 5-4 do contexto do cursor Tipos de dados 5-5 Cordas vazias 5-6 Erro que processa 5-6 Come a conexes mltiplas 5-12 Punhos e conexes 5-13 Nveis da isolao 5-13 Actualizaes posicionadas 5-14 Liberando fechamentos 5-16 Cordas reservados 5-16 Palavras-chaves de SQL.INI 5-16 Procedimentos armazenados 5-27 Transaes, disconexes, e sadas 5-36 Redigindo e recuperando os dados 5-37 da IMAGEM e do TEXTO

6 conectando s bases de dados using ODBC 1Antes de voc comear 6-2 Conectando s origens de dados especficas 6-2

Informao 6-3 do tipo Preservao 6-4 do contexto do cursor Tipos de dados 6-4 Erro que processa 6-5 Cdigo de erro que traa 6-6 Travar o intervalo de parada 6-10 Palavras-chaves de SQL.INI 6-10 Procedimentos armazenados 6-15 Transaes, disconexes, e sadas 6-15 Pesquisa de defeitos no linux 6-16

7 conectando ao mltiplo Bases de dados simultaneamente 1Vista geral 7-2 Duas aproximaes 7-2 Sobre a aplicao 7-3 Funcionando a aplicao 7-4 Edies de projeto 7-9 Detalhes de execuo 7-25 Come mais informao 7-29

Glossrio 1 ndice 1

7

PrefcioEste livro diz-lhe como conectar uma aplicao de Gupta SQLWindows a qualquer de uma variedade de bases de dados: Oracle Usurio de Microsoft SQL Usurio adaptvel de Sybase Alguma base de dados para que um excitador de ODBC certificado para trabalhar com aplicaes de Gupta SQLWindows estiver disponvel. Isto inclui: IBM DB2/400 dBASE-INTERSOLV, excitador do Inc. Excitador de Microsoft Acesso-Microsoft, Inc. Excitador de OracleVisigenic-Visigenic Software, Inc. Este livro igualmente descreve como voc pode certificar seu prprio excitador de ODBC para trabalhar com aplicaes de Gupta SQLWindows using a caracterstica de configurao da conectividade (DCC) da base de dados. Para a informao em como usar o fornecedor VELHO dos dados do DB de SQLBase para conectar SQLBase e aplicaes construdos com o software tal como Visual Basic ou Delphi, ler por favor a conexo a SQLBase na coleo de livro em linha. Para a informao em como usar o colaborador da equipe de Gupta como um consumidor VELHO do DB para conectar aplicaes de SQLWindows a uma variedade de origens de dados, ler por favor o captulo 13 de tornar-se com o manual de SQLWindows na coleo de livro em linha ou estalando aqui.

Connecting Gupta Objects to Databases

2-

Este livro no descreve como conectar uma aplicao de Gupta SQLWindows base de dados de SQLBase s tecnologias de Gupta'. Para a informao, ler o jogo da documentao de SQLBase. Tambm, este livro no descreve como conectar uma aplicao de Gupta SQLWindows s bases de dados DB2 using SQLHost, SQLGateway, e outros componentes do S Q L N e t w o r k p a r a D B 2 ou o S Q L H o s t p a r a V i s u a l B a s i c produto-products read a documentao que acompanha aqueles produtos para mais informao. Este prefcio fornece a seguinte informao: Quem deve ler este manual A organizao deste manual O formato da documentao As convenes da notao usadas neste manual Outros recursos teis Como contatar Gupta

Qu e m de v e le r e ste l i vroQualquer um que quer conectar uma aplicao de Gupta SQLWindows a uma das bases de dados alistadas no incio deste prefcio deve ler este livro. Para conectar com sucesso a aplicao a sua base de dados do alvo, voc pode igualmente precisar a ajuda de seu administrador de rede e de administrador de base de dados.

O q u e e s t n e ste l ivroO captulo 1 d uma vista geral de como as aplicaes de Gupta SQLWindows conectam aos usurios de base de dados. O captulo 2 diz-lhe como inicializar e testar sua conexo base de dados. Os captulos 3 a 7 do-lhe a informaes adicionais sobre a conexo de uma aplicao de Gupta SQLWindows s bases de dados especficas. O captulo 8 descreve como conectar a uma origem de dados de ODBC. Igualmente fala especificamente sobre a conexo a DB2/400 e a dBASE. O captulo 9 discute algumas edies que so importantes quando voc conecta uma nica aplicao de Gupta SQLWindows a mais de uma base de dados ao mesmo tempo. O captulo 10 anda voc com um exemplo de como certificar seu prprio excitador de ODBC.

Connecting Gupta Objects to Databases

2-

Convenes da notaoAntes que voc comece usar este manual, importante compreender as convenes que tipogrficas ns nos usamos neste manual:Conveno do formato Voc Usurio tipo bold(realce) Correio 9 SQL.INI MAPDLL.EXE Precauo Vital informao Suplementar informao Alt+ 1 Tipo de informao Um colaborador que leia este manual O utilizador final das aplicaes que voc escreve Artigos de menu, teclas, e nomes de campo. Coisas isso voc seleto. Chaves de teclado que voc pressiona. Construtor ou C - exemplo do cdigo de lngua Nomes de programa e nomes da lima

Aviso: Importante: Nota: A mais o sinal entre meios dos nomes chaves pressionar e prender abaixo da primeira chave quando voc pressionar a

Outros recursos teisGupta registra em linha. A srie do original de Gupta acessvel em linha. Esta coleo do original deixa-o executar buscas posicionadas com texto completo atravs da srie inteira do original, navegar o ndice using navegador expansvel/dobrvel, ou imprimir todo o captulo. Abrir a coleo selecionando o cone em linha de GuptaBooks do menu do comeo ou double-clicking no cone do lanador no grupo de programa. Ajuda em linha. Este um sistema de ajuda em linha context-sensitive extensivo. A ajuda em linha oferece uma maneira rpida de encontrar a informao em tpicos including artigos de menu, funes, mensagens, e objetos. World Wide Web. O Web site mundial das tecnologias de Gupta' contem a informao sobre scios, produtos, vendas, sustentao, treinamento, e usurios do LLC das tecnologias de Gupta. O URL http://www.guptaworldwide.com. Para alcanar servios tcnicos de Gupta na correia fotorreceptora, ir a http:// www.guptaworldwide.com/tech/support/default.asp. Esta seo de nosso Web site um recurso valioso para clientes com edies do suporte laboral, e enderea uma variedade de tpicos e servios, including o status do caso do suporte laboral, pedido geralmente1-

Connecting Gupta Objects to Databases

perguntas, acesso aos newsgroup em linha de Gupta, ligaes s ferramentas do Shareware, boletins do produto, Livros Brancos, e actualizaes carregvel do produto. Para a informao no treinamento, including descries de curso, as programaes de classe, e os scios de formao certificados, vo a http://www.guptaworldwide.com/partners/ training.asp. Para a informao extensiva sobre a globalizao e a localizao, o software internacional tornando-se lido para o de Windows 95 e de Windows NT por Nadine Kano da imprensa de Microsoft. Voc pode igualmente alcanar o Web site de Microsoft em http://www.microsoft.com para a informaes adicionais na globalizao e na localizao.Ou tra s pu b lic a e s.

Emitir comentrios a...Qualquer um que l este manual pode contribuir-lhe. Se voc tem quaisquer comentrios ou sugestes, emiti-los por favor a: LLC tcnico das tecnologias de Gupta do departamento das publicaes Movimentao de 975 consoles Costas do Redwood, CA 94065 ou emitir o email, com comentrios ou sugestes a: [email protected]

Connecting Gupta Objects to Databases

2-

Captulo 1

Vista geralEste captulo descreve como conectar aplicaes de Gupta SQLWindows aos usurios de base de dados. Descreve algumas das caractersticas suportadas por umas ou vrias das bases de dados a que voc pode conectar uma aplicao de Gupta SQLWindows. Ler este captulo para come u m a d e s c r i o geral de cada caracterstica, a seguir ler o captulo que cobre a base de dados a que voc est conectando para encontrar se (e como) aquelas caractersticas so suportadas por essa base de dados.N o t a : Se o captulo que discute uma base de dados particular no menciona uma caracterstica

particular, essa caracterstica no est suportada (tampouco porque a base de dados no a suporta, ou porque SQLWindows no a suporta para essa base de dados).

Connecting Gupta Objects to Databases

2-

Arquitetura do cliente/usurioUma aplicao do cliente/usurio de SQLWindows consiste no tempo de execuo dos seguintes componentes: Gupta SQLWindows aplicao-applicationthis um programa que executem servios para o usurio, e que se comunique com uma base de dados using um SQLRouter. A aplicao pode ser escrita using QuickObjects, a lngua evolutiva orientada ao objecto da aplicao (SAL), ou uma combinao de ambos.Biblioteca de software de SQLRouter-a fornecida com o Gupta que toma

como os dados e as aes de entrada especific por uma aplicao de Gupta SQLWindows; SQLRouter traa a entrada em ligaes de controle e em tipos de dados apropriados do API de um vendedor da base de dados (tal como OCI de Oracle ou ODBC de Microsoft) para executar as aes especific nos dados dados. SQLRouter igualmente aceita dados e aes de uma base de dados, e converte-os nas aes e nos dados que uma aplicao de Gupta SQLWindows pode compreender. Esta tabela alista o SQLRouters diferente disponvel e as bases de dados que voc usa o SQLRouter para conectar a:SQLRouter Bases de dados do alvo

SQLRouter/Informix SQLRouter/ODBC

Informix 7.2 e 7.3 DB2/400, usurio 6.x de Microsoft SQL, Microsoft Access, Oracle (using o ODBC API) Oracle 8.1.5 e mais atrasado (using o API nativo) Sistema 11 e mais elevado CA-OpenIngres-OpenIngres 2.0

SQLRouter/Oracle SQLRouter/Sybase SQLRouter/Ingres

Vendedor API da base de dados - a relao do chamar-call-level fornecida

por um vendedor da base de dados para comunicar-se com a base de dados desse vendedor. Os exemplos incluem Oracle OCI, Informix SQLI, Sybase CT-LIB, SQL encaixado CA-OpenIngres-OpenIngres, e Microsoft ODBC.Biblioteca de software da layerthe- do acesso de rede fornecida por um

vendedor da base de dados para aceitar as aes e os dados especific pelo vendedor API da base de dados e para emiti-los para fora sobre a rede. Esta biblioteca igualmente aceita as aes e os dados fornecidos pela base de dados sobre a rede e passa-os at a camada do API do vendedor da base de dados.Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Autocommit

que emite e recebe mensagens sobre a ferragem da rede. Os exemplos incluem o TCP/IP, o IPX/SPX, o NetBEUI, o NetBIOS, e Tubulao nomeada.Software-softwaresoftware da rede

AutocommitCometer relaciona-se ao agrupamento de aes do usurio (muda tipicamente a uma base de dados) assim que todas as aes esto feitas permanentes na base de dados se e somente se so tudo bem sucedidas. O jogo de tais aes constitui transaes de uma transao-transactionsee i g u a l m e n t e na pgina 1 - 2 2 . O ajuste de defeito para o autocommit : OracleOFF-FORa Informix-OFF Microsoft SQL Usurio-ServerON Sistema 11-OFF CA-OpenIngresOFF-OpenIngres-FORa ODBC-no general, depende do excitador e da origem de dados. Se o autocommit est ligada, cada indicao de SQL executada transforma-se sua prpria transao. A menos que um erro ocorrer, o resultado da indicao de SQL est cometido base de dados. Tambm, voc libera fechamentos e outros recursos da transao o mais cedo possvel, sem precisar de executar um explcito COMETEM a indicao. Se o autocommit est e voc tem uma transao pendente, o que acontece se voc tenta executar uma indicao de DDL depende do usurio de base de dados:As indicaes do usurio e do Sybase-DDL de Microsoft SQL no so

permitidas quando uma transao for pendente.Oracle-OracleIf voc tenta executar uma indicao de DDL, o usurio

de base de dados comete primeiramente a transao pendente antes de executar a indicao de DDL.Informix-InformixIf voc est usando a modalidade de usurio da base

de dados do ANSI ou da transao, as indicaes de DDL so consideradas parte da transao atual. Uma vez que voc comete (ou rolar para trs) a transao, o DDL est cometido (ou rolado para trs) junto com todas as indicaes restantes que compo a transao. As indicaes CA-OpenIngresDDL-OpenIngres-DDL so consideradas parte da transao atual. Uma vez que voc comete (ou rolar para trs) a transao, o DDL est cometido (ou rolado para trs) junto com todas as1Connecting Gupta Objects to Databases

indicaes restantes que compo a transao. Se o autocommit est, voc comea uma transao, a seguir voc tenta girar sobre o autocommit, o que acontece depende em seguida do usurio de base de dados:

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

O usurio de Microsoft SQL, CA-OpenIngres-OpenIngres, e Sybasevoc come um erro. Voc deve primeiramente cometer ou rolar para trs a

transao pendente antes que voc possa girar o autocommit sobre.Oracle e Informix-voc podem executar a indicao para girar sobre o

autocommit quando uma transao for pendente, mas o ajuste novo para o autocommit no toma imediatamente o efeito; voc deve primeiramente terminar a transao explicitamente cometendo a ou rolando a para trs. Uma vez que voc termina a transao pendente, o autocommit toma o efeito. Se o autocommit est ligada e preservao do contexto do cursor(CCP) est, executando uma indicao de SQL que modifique uma fileira em um resultado ajustado (como a ACTUALIZAO ou a SUPRESSO) cometa no somente a mudana base de dados, igualmente destri o resultado ajustado e seu cursor associado. Para executar operaes mltiplas no mesmo jogo do resultado, incapacita o autocommit ou permite o CCP (ou ambos). Se o autocommit est, voc responsvel para: Executando a indicao da CONSIGNAO (ou chamando S q l C o m m i t ) frequentemente bastante para reduzir o travamento desnecessrio que poderia restringir o acesso aos dados para outros usurios (por causa dos fechamentos lida ou da actualizao). Agrupando suas mudanas base de dados de tal maneira que somente as mudanas apropriadas so canceladas se voc precisa de executar um ROLLBACK. Um explcito comete (manual ou automtico) influncias que todos os punhos do SQL associaram com a mesma conexo base de dados. Para encontrar se a base de dados voc est conectando s sustentaes o autocommit, como o suporta, e se o autocommit de ligar/desligar revelia, ler o captulo neste livro devotado a essa base de dados. Para desligar o autocommit para todas as aplicaes de SQLWindows que conectam a uma base de dados dada, ajustar a palavra-chave apropriada de SQL.INI (se se definido para essa base de dados) a "OFF".Nota: Voc pode desligar o autocommit somente para algumas das bases de dados que vocpode conectar a. Ler a s e o de Autocommit dos captulos que discutem as bases de dados que sua aplicao conecta para a mais informao.

Voc gira o autocommit de ligar/desligar chamando SqlSetParameter. Mesmo que voc especific um punho especfico (hSql) como um dos argumentos, a mudana no ajuste para o autocommit afeta todos os punhos associados com a mesma conexo que o hSql. Para desligar o autocommit para uma aplicao dada, incluir a seguinte linha em sua1Connecting Gupta Objects to Databases

aplicao de Gupta SQLWindows:Chamar SqlSetParameter (h S q l , DBP_AUTOCOMMIT, FALSO, o strNull)

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Ligar variveis

Se o autocommit est, as mudanas que voc faz a uma base de dados no se tornam permanentes at que voc execute uma indicao da CONSIGNAO (ou chamar SqlCommit). Mais, se voc desconecta da base de dados ou retira a aplicao (normalmente ou anormalmente) sem executar COMETE, a transao pendente pode ou no pode ser cometida para voc. Para encontrar o que acontece, ler o captulo que cobre a base de dados que voc est conectando a. Para a informaes adicionais, ler a documentao em SqlSetParameter e em DBP_AUTOCOMMIT n a r e f e r n c i a d e f u n o d e S Q L W i n d o w s .

Ligar variveisLigar variveis, variveis igualmente chamadas do programa, variveis de anfitrio, ou os marcadores do parmetro, referem os valores de dados associados com uma indicao de SQL. As variveis do ligamento associam (ligamento) uma posio sinttica em uma indicao de SQL com um valor de dados nessa indicao; o emperramento ocorre realmente no tempo de execuo. Uma varivel do ligamento em uma indicao de SQL indica que os dados de uma varivel na aplicao lhes esto limitados cada vez que a indicao executa. Esta caracterstica permite que uma indicao de SQL seja compilada uma vez e executada repetidamente com um jogo novo dos valores nas variveis do ligamento cada vez. Ler o captulo que cobre a base de dados a que voc est conectando para encontrar se (e como) as variveis do ligamento so suportadas por essa base de dados.

SimultaneidadeUma nica aplicao de Gupta SQLWindows pode alcanar tabelas mltiplas em uma base de dados dada, assim como conecta s bases de dados mltiplas simultaneamente. Entretanto, a execuo de todas as funes de lngua evolutivas (SAL) da aplicao single-threaded- a funo deve terminar (e o valor do bOk retornado aplicao) antes que a indicao ou a funo seguinte na aplicao possam ser executadas. A simultaneidade pode igualmente ser afetada por como as aplicaes diferentes obtm e se liberam fechamento-locksfor informao relacionada, se lem nveis da isolao na pgina 1-12 e se travam o intervalo de parada na pgina 1-14. Para aprender como escrever as aplicaes que conectam s bases de dados mltiplas simultaneamente, ler o captulo 7, conectando s bases de dados mltiplas simultaneamente.

Parmetros da conectividadeEm sua aplicao de Gupta SQLWindows voc pode come e ajustar um nmero de parmetros que afetam o processamento de transao e outros atividades ou atributos1Connecting Gupta Objects to Databases

relativas conectividade.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

Os seguintes parmetros podem ser recuperados com SqlGetParameter e jogo com SqlSetParameter: O autocommit de DBP_AUTOCOMMIT-Whether de ligar/desligar. Vendedor de DBP_BRAND-The da base de dados voc conectado a. Limite de DBP_LOCKWAITTIMEOUT-Time em esperar um fechamento a ser liberado. A preservao do contexto do cursor de DBP_PRESERVE-Whether de ligar/desligar. Verso de DBP_VERSION-The da base de dados a que voc conectado. DBP_ROLLBACKONTIMEOUT-Whether a transao a mais recente est rolado para trs se um intervalo de parada expira. A lima SQLNWKCN da biblioteca. O APL (no diretrio de instalao de Gupta) contem um grande nmero constantes do usurio que voc pode recuperar com rAll de SqlGetParamete e ajustar com SqlSetParameterAll. Para usar estas constantes, incluir esta lima em sua aplicao de Gupta SQLWindows. Abrir esta lima com l i m a , a b r i - l a da barra de menu de Gupta SQLWindows e expandir a seo das constantes do usurio do esboo para ver as constantes definidas. Por exemplo, para ajustar o tamanho do amortecedor usado para prender dados LONGOS a 2000 bytes, incluir esta linha em sua aplicao:SqlSetParameterAll (hSql, DBP_LONGBUFFER, 2000,'', VERDADEIRO)

Conectar a ordem da buscaO nome da base de dados suas tentativas da aplicao de Gupta SQLWindows para conectar (a base de dados do alvo) deve ser atribudo varivel global SqlDatabase antes que a aplicao chame SqlConnect. Antes que a aplicao tente realmente conectar base de dados, procurara cada seo router-router-specific da lima de SQL.INI por uma indicao do remotedbname que aliste o nome de base de dados do alvo. A ordem em que voc alista o SQLRouters diferente (using o comdl l palavra-chave) na lima de SQL.INI determina a ordem em que as sees router-router-specific so procuraradas. Por exemplo, se o DLL para SQLRouter/Oracle alistado primeiramente no comdl l indicaes, a seo Oracle-Oracle-specific da lima, a saber [oragtwy], procurarada primeiramente. Se uma indicao do remotedbname est encontrada que as lista um nome que combina o nome da base de dados do1Connecting Gupta Objects to Databases

alvo, a aplicao tentam conectar-connectif a tentativa de conectar falhas, a aplicao come um erro. Se nenhuma indicao do remotedbname encontrada que lista um nome que combina o nome da base de dados do alvo, a seo router-routerspecific para o SQLRouter seguinte na seqncia de

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Preservao do contexto do cursor

o comdl l indicaes procurarado. Isto continua at que

um nome de base de dados de harmonizao esteja encontrado, ou at a seqncia do comdl l indicaes est esgotado. Uma variao ligeira aplica-se a SQLRouter/ODBC e a SQLRouter/usurio de Microsoft SQL. Em vez de procurarar a seo [do odbcrtr] de SQL.INI por uma indicao do remotedbname, a aplicao tenta encontrar um nome da origem de dados de ODBC no ODBC. Lima de INI que combina o nome de base de dados do alvo. Se no, o processamento o mesmo que para todo o SQLRouters restante. Para mais informao sobre a lima de SQL.INI, ler aplicaes de inicializao de SQLWindows na pgina 2-5. Para mais informao sobre a indicao do remotedbname, ler a seo das palavras-chaves de SQL.INI para cada um dos usurios de base de dados (Oracle, Informix, e assim por diante) que voc conectar a.

Preservao do contexto do cursorA preservao do contexto do cursor (CCP) preserva quaisquer jogos do resultado (FERS-FERSsee including a parte frontal resultar jogos na pgina 1-8) esses voc recuperou durante uma transao, assim como os cursores associados com os aqueles resultam jogos, mesmo depois que voc faz uma CONSIGNAO. Voc igualmente mantem os fechamentos que voc obteve durante a transao. No todo o CCP da sustentao de bases de dados. CA-OpenIngres-OpenIngres no faz. Se a base de dados que voc est conectando no suporta o CCP, ou o suporta mas voc o desligou, voc perde todos os jogos do resultado e seus cursores associados quando voc faz uma CONSIGNAO; voc igualmente libera todos os fechamentos obtidos durante a transao.N o t a : SQLWindows desliga o CCP revelia.

Se o CCP est e voc comete a transao atual (ou explicitamente ou porque o autocommit est ligada), voc perde tudo jogos abertos do resultado e todas as declaraes preparadas so invalidadas. Se o CCP est ligada, entretanto, os jogos do resultado permanecem abertos mesmo depois que a consignao.I m p o r t a n t e : Se voc rola para trs a transao, voc perde tudo jogos abertos do resultado mesmo se o CCP est ligada.

Se o autocommit est e voc muda o ajuste do CCP durante uma transao, o ajuste novo para o CCP no toma o efeito at que voc cometa ou role para trs a transao atual.1Connecting Gupta Objects to Databases

Para girar sobre o CCP, incluir a indicao:Chamar SqlSetParameter (h S q l , DBP_PRESERVE, VERDADEIRO, o strNull)

em sua aplicao de SQLWindows. Chamar esta funo para cada punho do SQL associado com os jogos que do resultado voc quer manter o contexto for-see os punhos, os contextos, e as conexes na pgina 1-9 para informao relacionada.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

I m p o r t a n t e : Se sua aplicao executa um ROLLBACK, todo o resultado se ajusta (se o

resultado backend se ajusta ou FERS) e seus cursores esto rejeitados mesmo se o CCP permitido.

Se voc est usando a parte frontal que o resultado se ajusta (FERS) e voc permitiu o CCP, as fileiras no jogo do resultado permanece disponvel a sua aplicao mesmo depois que voc executa uma CONSIGNAO. Entretanto, os dados na lima de FERS no so actualizados mant-la na sincronizao com nenhuma mudanas feita s fileiras correspondentes no usurio de base de dados. Se outros clientes fazem mudanas tabela no usurio, os dados de FERS sero expirado. Para aprender aproximadamente mais FERS, leu os jogos do resultado da parte frontal da seo na pgina 1-8. Para encontrar se a base de dados voc est conectando s sustentaes o CCP, ler o captulo neste livro que cobre essa base de dados.

Jogos do resultado da parte frontalSe voc gira sobre a modalidade ajustada do resultado (modalidade ajustada lida do resultado na pgina 1-18) em sua aplicao de SQLWindows, o usurio de sua aplicao pode enrolar ambos para trs e envia atravs de um jogo do resultado retornado da base de dados; o usurio tem ento "um cursor scrollable". Se voc desliga modalidade ajustada do resultado, o usurio de sua aplicao pode enrolar envia somente com o resultado ajustou-se-no para trs.N o t a : Em SQLWindows, a modalidade ajustada do resultado est revelia.

Se voc gira sobre modalidade ajustada do resultado, e sua aplicao est conectada a uma base de dados que tenha a sustentao nativa para os cursores scrollable (chamados s vezes jogos backend do resultado ou cursores backend), os usos de SQLWindows que suportam para permitir que o usurio enrole em ambos os sentidos atravs de um jogo do resultado. Se a base de dados no tem a sustentao nativa para cursores scrollable, SQLWindows executa esta capacidade using jogos do resultado da parte frontal (FERS).N o t a : Mesmo se os cursores scrollable (backend) das sustentaes de base de dados do alvo, esta

caracterstica devem primeiramente ser permitidos na base de dados para que sua aplicao a use.

Para executar FERS, o software de SQLRouter toma um instantneo do jogo do resultado retornado por uma indicao SELETA e armazena-o em uma lima provisria no cliente. Cada lima nomeada F R S n (sem a extenso), onde n uma primeira lima do integerthe- positivo nomeado F R S 1 ; o segundo,1Connecting Gupta Objects to Databases

FRS2;

e assim por diante.

SQLRouter precisa dois punhos de lima para cada lima que de FERS cria. Se SQLRouter no pode obter os punhos de lima, retorna um erro aplicao.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Punhos, contextos, e conexes

Estas limas de FERS so suprimidas quando sua aplicao de SQLWindows tenta preparar uma outra indicao ou umas disconexes de SQL do usurio de base de dados. Se a aplicao termina anormalmente e deixa estas limas, voc deve suprimir d procura-as manualmente no diretrio padro onde as limas provisrias so armazenadas.N o t a : Se sua aplicao est usando FERS, voc pode liberar todos os fechamentos compartilhados no jogo do resultado retornado pelo seu SELETO indicao-statementcall SqlGetResultSetCount. Para aprender mais sobre esta funo, ler a r e f e r n c i a d e f u n o d oSQL Windows.

Voc no pode SELECIONAR... PARA A ACTUALIZAO (cursores posicionados uso) se o cursor nomeado associado com um jogo do resultado da parte frontal. Ou seja voc no pode travar no usurio as fileiras que esto sendo indicadas no cliente. Os dados que o usurio v no cliente no podem combinar os dados no usurio se uma outra aplicao faz mudanas 2 aquelas mesmas fileiras. Para a informao em modalidade ajustada do resultado e como permiti-la, ler modalidade ajustada do resultado na pgina 1-18. Para a informao em FERS e em preservao do contexto do cursor (CCP), ler a preservao do contexto do cursor na pgina 1-7.

Punhos, contextos, e conexesPara um SQLRouter, um punho de SQLWindows SQL identifica um contexto para a preparao separada (compilao) e a execuo de indicaes de SQL, e (para indicaes SELETAS) o acesso das fileiras de um jogo do resultado. O punho igualmente identifica um contexto separado para uma comunicao entre a aplicao e o usurio. Se permitido pelo usurio de base de dados do alvo, uma aplicao de SQLWindows pode ter conexes mltiplas a uma base de dados, e aos punhos abertos do mltiplo em toda a conexo dada. Uma aplicao de SQLWindows abre uma conexo a uma base de dados quando faz sua primeira chamada a SqlConnect; ao mesmo tempo, a aplicao obtem seu primeiro segurar-handlethis permite que a aplicao prepare e execute indicaes de SQL. So associados com esta conexo um nome de base de dados, um usurio identificao, e uma senha. Quando a aplicao faz chamadas adicionais a SqlConnect, SQLRouter usa a mesma conexo base de dados, mas estabelece um contexto novo. Se voc passa uma varivel nova do punho do SQL como o argumento a SqlConnect (o caso normal), voc continua a ter o acesso a todos os contextos que restantes voc criou com as chamadas mais adiantadas a SqlConnect. Esta arquitetura permitem que voc, por exemplo, obtenha um jogo do resultado, posicionam o cursor ajustado do resultado fileira desejada, a seguir actualizam a fileira sem perder o jogo do resultado ou a planta da execuo para a indicao SELETA que obteve o resultado ajustar-setfor mais informao, consideram1Connecting Gupta Objects to Databases

actualizaes posicionadas na pgina 1-17.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

documentao de Gupta refere o punho do SQL como um "cursor." Isto muito diferente do uso do ANSI do cursor do termo, que um ponteiro a uma fileira dada em um jogo do resultado.N o t a : Alguma

Geralmente, uma aplicao de SQLWindows que use os punhos mltiplos faz um do seguinte: Conecta mesma tabela para duas activitiesthe- diferentes seguram primeiramente usado para preparar e executar uma indicao SELETA para obter um jogo do resultado, a seguir buscam a fileira desejada desse jogo do resultado; o segundo punho usado para preparar e executar a indicao de SQL que modifica o jogo do resultado (ACTUALIZAO, INSERO, ou SUPRESSO). Conecta a duas tablestheque diferentes o punho usado para preparar e executar a indicao de SQL que actualiza uma coluna em uma tabela baseada em um valor de uma outra tabela obtida preparando e executando uma indicao de SQL diferente. Conecta a dois diferentes base de dados-databaseseach punho identifica um contexto separado para preparar e executar indicaes de SQL. Geralmente, os punhos diferentes do SQL, quando identificarem contextos separados para preparar e executar indicaes de SQL, so toda a parte do mesmo espao da transao. Conseqentemente, se voc executa uma indicao da CONSIGNAO ou do ROLLBACK em qualquer punho, o usurio de base de dados comete (ou rola para trs) os resultados de todas as indicaes de SQL uncommitted executadas em todos os punhos abertos conectados a uma base de dados dada.N o t a : Quando vem s indicaes de consignao, algumas bases de dados distinguem entre

indicaes de lngua da manipulao (DML) de dados e indicaes de Langauge da definio (DDL) de dados. Com estas bases de dados, as indicaes de DDL so cometidas sempre, visto que as indicaes de DML esto cometidas somente se a indicao da CONSIGNAO (ou a f u n o de SqlCommit) so executadas. Em outras bases de dados, nem as indicaes de DML nem de DDL so cometidas at que COMETER for executado (ou S q l C o m m i t est chamado). Esta discusso inteira supor, naturalmente, que o autocommit est.

O nmero mximo de punhos e de conexes que sua aplicao pode ter depende de seus recursos do sistema de explorao do cliente e todos os limites impor pelo usurio de base de dados SQLWindows do alvo prprio no impor nenhuma limitao. Para informao relacionada, ler t r a n s a e s na pgina1-22.

Tipos da coluna da IMAGEMUma aplicao de SQLWindows pode ler, redigir, e actualizar dados BINRIOS1Connecting Gupta Objects to Databases

LONGOS (dados de IMAGEM) using indicaes de SQL regulares (SELECIONAR e ACTUALIZAO). Isto verdadeiro mesmo que SQLWindows no tenha um tipo de dados nativo do BINRIO LONGO. Em lugar de, SQLWindows converte dados BINRIOS LONGOS aos dados LONGOS da CORDA ao ler, e dados LONGOS da CORDA aos dados BINRIOS LONGOS ao escrever.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Tipos da coluna da IMAGEM

Ao redigir dados LONGOS da CORDA s colunas da IMAGEM, a varivel do ligamento que contem os dados deve ser limitada ao tipo de dados apropriado chamando SqlSetLongBindDatatype.

Dados da escrita a uma coluna da IMAGEM1. Atribuir os dados a uma varivel de CORDA LONGA de SQLWindows. Os dados devem usar a sintaxe correta para a coluna onde sero armazenados. 2. 3. Preparar a indicao de SQL que actualizar o valor apropriado na tabela. Ajustar o emperramento da varivel de CORDA LONGA para datilografar o BINRIO LONGO (valor numrico de 23) chamando SqlSetLongBindDatatype com os parmetros corretos. 4. Executar a indicao de SQL preparada. A sintaxe pe : bOk = SqlSetLongBindDatatype (nBindVarNumber, nDatatype) onde ambos os argumentos so do tipo nmero. O primeiro parmetro identifica a varivel do ligamento a ser ajustada por sua posio ordinal no SQL preparado indicao-statementuse 1 para denotar a primeira varivel do ligamento na indicao de SQL, 2 para denotar a segunda varivel do ligamento, e assim por diante; o segundo parmetro indica o tipo de dados a que a varivel do ligamento deve ser ajustada (BINRIO LONGO).N o t a : O valor numrico a usar-se como o segundo parmetro 23 (para o BINRIO LONGO).

de

SqlSetLongBindDataty

Para fazer seu cdigo self-documenting, voc deve criar uma constante simblica com esse valor, a seguir usa a constante como o parmetro.

Por exemplo:Constantes Sistema Usurio Nmero: LONGBINARY = 23 Variveis locais Corda: strName1Connecting Gupta Objects to Databases

Corda longa: strPhoto ... Aes ... SqlConnect (hSql) ... ! Supr que ns lemos um nome no strName e em uma lima de .BMP ! no strPhoto. Ns queremos actualizar um empregado particular ! foto na base de dados.

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

Chamada SqlPrepare (hSql,' ACTUALIZAO emp' | | ' AJUSTAR o emp_name =: strName, image_col =: strPhoto') ! Porque a varivel do ligamento: o strPhoto o segundo ligamento! a varivel na indicao que de SQL ns apenas nos preparamos, ns ajustou-se! o parmetro do nBindVarNumber d e SqlSetLongBindDatatype 2. chamada SqlSetLongBindDatatype (2, LONGBINARY) Chamada SqlExecute (hSql)

SqlSetLongBindDatatype deve ser chamado imediatamente depois da chamada a SqlPrepare. O emperramento estabelecido com SqlSetLongBindDatatype dura at que a chamada seguinte a SqlPrepare no mesmo punho do SQL.N o t a : SQLWindows converte automaticamente entre dados LONGOS da CORDA e do TEXTO;

voc no precisa de chamar SqlSetLongBindDatatype ao ler e ao redigir dados do TEXTO.

Nveis da isolaoControle de nveis da isolao como o acesso s tabelas em uma base de dados por um usurio afeta outros usurios que alcanam as mesmas tabelas nessa base de dados. Estes nveis da isolao so executados por fechamentos e aplicam-se a todas as indicaes de SQL executadas como parte de uma nica transao. O nvel que da isolao voc escolhe depende da exigncia de aplicao para a consistncia e a simultaneidade. A consistncia significa que durante uma transao, os dados lidos permanecem estveis. Isto implica que os dados que esto sendo lidos por uma transao no mudam por causa das actualizaes, das supresses, e das inseres executadas por outras transaes. A simultaneidade uma funo do nmero de usurios que podem alcanar dados ao mesmo tempo. A simultaneidade elevada permite que os usurios mltiplos executem transaes de base de dados simultaneamente sem interferir um com o otro, mas na despesa possvel da consistncia.

Termos nivelados de IsloationOs nveis da isolao so definidos frequentemente nos termos dos seguintes fenmenos:- l i d o - a t r a n s a o suja A muda uns ou vrios valores da coluna em uma fileira. A transao B l a mesma fileira, depois do qual a transao A rola para trs suas mudanas. A transao B tem lido agora os valores que (de um ponto de vista transaction-oriented) nunca existiu. 1Connecting Gupta Objects to Databases

nonrepeatable lido -

a transao A l uma fileira. A transao B actualiza ou suprime da fileira. A transao A no pode agora repetir lido daquele

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview Nveis da isolao

enfileirar e come os mesmos resultados; ou os valores so diferentes ou a fileira j no existe. a transao A executa um SELETO em uma tabela. Baseado nos critrios de seleo na indicao SELETA, um jogo das fileiras retornado s inseres da transao B do A. umas ou vrias fileiras novas na mesma tabela com valores que acontecem combinar os critrios de seleo da indicao SELETA usada pelo A.. Se a transao A executa a mesma indicao SELETA, obtem afileira fantasma -

o jogo diferente das fileiras do que ela fz a primeira vez.N o t a : Esta discusso aplica-se s aplicaes de Gupta. Se usando SQLTalk, o nvel da isolao

do defeito, independentemente da base de dados a que voc conecta, sempre RR (repetvel l).

Escolher o nvel apropriado da isolao para suas aplicaes dependendo do contrapeso que voc precisa de conseguir entre a simultaneidade do acesso de dados e a consistncia de dados.

A isolao l pelo usurioSQLWindows fornece quatro cdigos que two-letter diferentes voc pode especific quando voc ajusta uma isolao em nvel. A tabela abaixo das mostras voc o nvel que da isolao voc come dependendo do cdigo voc especific e o usurio de base de dados voc conectado a.Microsoft SQL Server/ODBC Sybase Sistema 11 CA OpenIngres

Cdigo

Oracle

Informar ix

Default* RO RL CS RR

nao aplicvel

cometido l

read_committed ler uncommitted lido cometido repetvel l serializable

Nvel 1 Nvel 0 no suportado Nvel 1 Nvel 3

repetvel l nao aplicvel nao aplicvel nao aplicvel nao aplicvel

no suportado no suportado no suportado no suportado

sujo l cometido l estabilidade do cursor repetvel l

A juste niv e lado da isola o .

* O defeito no um cdigo real. Esta fileira indica o nvel que da isolao voc come quando voc conecta primeiramente ao usurio de base de dados dado.1Connecting Gupta Objects to Databases

N o t a : O usurio de Microsoft SQL suporta os nveis da isolao alistados na coluna Microsoft

SQL Server/ODBC. Para origens de dados de ODBC sobre excepo do usurio de Microsoft SQL, o router de SQLWindows ODBC tenta ajustar muito o mesmo trao de cdigos two-letter aos nveis da isolao; entretanto, que a isolao em nvel (eventualmente) executada realmente para um cdigo dado depende do

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

Excitador de ODBC e o usurio que de base de dados voc se est usando para alcanar sua origem de dados. Sua documentao do excitador de ODBC e do usurio de base de dados deve fornecer a informao que voc precisa.

N o t a : Os usurios CA-OpenIngres-OpenIngres no suportam nveis da isolao. Usar a

indicao do JOGO LOCKMODE para ajustar tipos e nveis diferentes de fechamentos. O fechamento do defeito c o m p a r t i l h a d o para lido e o E x c l u s i v e para escreve.

Se voc tenta mudar nveis da isolao quando uma transao for pendente, o que acontece depende do usurio de base de dados: A tentativa de OracleThe- de mudar nveis da isolao ignorada. Informix e a transao pendente do ServerThe- de Microsoft SQL so cometidos primeiramente, a seguir o nvel da isolao mudado como pedido. O pedido do sistema 11-The de Sybase rejeitado e um erro levantado. Para ajustar a isolao em nvel em sua aplicao, chamar SqlSetIsolationLevel. Por exemplo, para ajustar a isolao em nvel a SQL_TXN_SERIALIZABLE no usurio 6.0 de Microsoft SQL, pr a indicao:Chamar SqlSetIsolationLevel (hSql,' os RR')

em sua aplicao de SQLWindows. Ver a referncia de funo de SQLWindows para mais informao sobre esta funo.I m p o r t a n t e : Ler os captulos que cobre as bases de dados a que voc est conectando para

encontrar os tipos dos nveis da isolao que so suportados naquelas bases de dados, e dos argumentos apropriados para se usar ao chamar S q l S e t I s o l a t i o n L e v e l .

Travar o intervalo de paradaO intervalo de parada do fechamento a quantidade de tempo gastada esperando um recurso para tornar-se disponvel. Se uma ao no pode ser terminada dentro do limite do jogo, a transao est abortada e todas as mudanas so roladas para trs. Para permitir o intervalo de parada do fechamento, chamar SqlSetLockTimeout, ou chamar SqlSetParameter com o parmetro de DBP_LOCKWAITTIMEOUT. (Para mais informao sobre estas funes, referir a referncia de funo de SQLWindows e a ajuda em linha.) Ler o captulo que cobre a base de dados a que voc est conectando para encontrar que tipo de intervalos de parada do fechamento (eventualmente) so suportados nessa base de dados.1Connecting Gupta Objects to Databases

Anula, cordas vazias, e espaos

Anula, cordas vazias, e espaosDado uma coluna que seja de algum tipo de dados da corda de carter, voc pode na insero geral (ou na actualizao) os dados nessa coluna using qualquer de trs valores diferentes que voc pode pensar similar entre eles, mas realmente completamente distinto: valor denota "undefined o valor". Usar o ZERO para indicar que no h nenhuma informaes disponveis para essa coluna. Voc pode pr o ZERO em uma coluna somente se voc definiu a coluna para reservar anula quando voc criou a tabela que tem essa coluna.Nulo-NULLThis

uma corda do comprimento zero. um valor de corda real. Se uma coluna da corda de carter tem a corda vazia, o valor da coluna est definido. (Este ZERO desigual, assim que significa que o valor da coluna indeterminado.)Esvaziar o corda-stringThis

Para armazenar realmente a corda vazia em uma coluna, voc deve poder definir a coluna para ser um tipo de carter do variar-varying-length, aonde o comprimento varie de zero a algum nmero positivo. Se voc define a coluna para ser um tipo de carter fixed-length, o valor que voc introduz (ou actualizao) est acolchoado com espaos se mais curta do que o comprimento fixo definido para essa coluna. A corda vazia tem um comprimento de zero, assim que acolchoada sempre com espaos ( sempre mais curta do que o comprimento fixo definido para a coluna). Assim, no caso de uma coluna de um tipo de dados fixed-length da corda, a base de dados armazena sempre uma corda dos espaos no lugar da corda vazia. (Se voc concatena a corda vazia com qualquer corda X, o resultado a mesma corda X.) uma corda do comprimento um. No nenhum diferente de nenhuma outra corda do comprimento um tanto quanto a base de dados. O nico special da coisa sobre um espao que mais duro para voc "v" um espao do que a maioria outras de cordas do comprimento um.Espao-SpaceThis

Todas as bases de dados armazenaro um espao em uma coluna da corda de carter. Se voc reserva anula em uma coluna da corda de carter quando voc cria a tabela com essa coluna, a base de dados igualmente armazenar um ZERO. Entretanto, as bases de dados diferentes armazenam valores diferentes na coluna da corda de carter dea (variar-varying-length) quando voc tenta armazenar o corda-stringsome vazio faz armazenar a corda vazia, alguns armazenam o ZERO, e outro armazenam um espao. Ao introduzir ou ao actualizar uma coluna da corda em uma tabela de base de dados de modo que indicar que no h nenhum dados na coluna, voc incorpora tipicamente um ZERO (se a tabela permite esta), a corda vazia (igualmente chamada a corda do zerozero-length), ou um espao. Qual destes voc o avalia o uso depende sobre se a tabelaConnecting Gupta Objects to Databases

2-

Chapter 1

Overview

reserva anula na coluna e como sua aplicao escrita. A tabela abaixo das mostras que valor armazenado realmente na base de dados, dependendo do usurio de base de dados e do valor fornecidos pelo cliente.

1-

Connecting Gupta Objects to Databases

N o t a : Para usar STRING_Null, voc deve atribui-lo a uma varivel de corda, a seguir usa-se que

varivel como uma varivel do ligamento em sua indicao da INSERO ou da ACTUALIZAO do SQL. Microsoft Usurio do SQL

Entrada do cliente

Oracle

Informar ix

Sistema de Sybase CA-OpenIngres11 OpenIngres

corda vazia ("") ZERO espao STRING_Null

ZERO

espao

espao

ZERO espao ZERO

ZERO espao ZERO

ZERO espao ZERO

espao (constante) ZERO (ligamento varivel) ZERO espao ZERO

espao (constante) ZERO (ligamento varivel) ZERO espao ZERO

V a l o r re a l a r m a z e n a d o .

Nota: O comportamento de uma origem de dados de ODBC depende do excitador e do usurio que de base de dados voc conecta a.

Using o ZEROPara introduzir o ZERO em algumas das colunas da corda de suas tabelas de base de dados, ou actualizar tais colunas com o ZERO (que supor as colunas reservar anula), voc deve: 1.Ajustar uma varivel de corda ao STRING_Null constante predefinido. 2.Preparar e executar uma INSERO do SQL ou ACTUALIZAR a indicao using a varivel em etapa 1 como uma varivel do ligamento. Por exemplo:strVar ajustado = STRING_Null .... SqlPrepareAndExecute (hSql, this_column my_table do JOGO da ACTUALIZAO do `=: `strVar) I m p o r t a n t e : Voc deve explicitamente ajustar a varivel de corda a STRING_Null porque

SQLWindows inicializa todas as variveis de corda corda vazia (do zero-zero-length). Somente usando um jogo da varivel do ligamento a STRING_Null (um pouco do que a corda vazia) pode voc armazenar o ZERO nas colunas da corda de suas tabelas de base de dados.

Para testar se um valor que da coluna da corda voc busca de uma das tabelas em sua base de dados NULO, voc deve comparar a varivel em que voc buscou o valor ao STRING_Null constante.Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

Por exemplo:

1-

Connecting Gupta Objects to Databases

Actualizaes posicionadas

SqlPrepareAndExecute (hSql, string_col SELETO do `de my_table EM: `do strColValue) SE strColValue = STRING_Null.... N o t a : Voc pode igualmente duro-hard-code o ZERO em uma indicao de SQL, se apropriado.

Actualizaes posicionadasAs aplicaes de SQLWindows podem executar actualizaes posicionadas (ONDE CORRENTE de actualizaes do cursor) quando conectadas a determinadas bases de dados. Para que as actualizaes posicionadas sejam possveis: Voc deve criar um ndice original em uma das colunas da tabela (usurio de Microsoft SQL somente). Voc deve girar sobre modalidade ajustada do resultado (cursores scrollable), salvo que este no exigido para Oracle.

Codificando uma actualizao posicionada1.Criar um ndice original em uma das colunas da tabela (usurio de Microsoft SQL somente). 2.Conectar duas vezes para obter dois punhos distintos do SQL. 3.Permitir modalidade ajustada do resultado (cursores scrollable), especific um dos punhos do SQL obtidos na etapa precedente. (No exigido para Oracle.) 4.Using o mesmo punho do SQL que na etapa precedente, executar o SELETO... PARA a indicao da ACTUALIZAO para recuperar o valor chave da coluna, e as algumas outras colunas do interesse da tabela. 5.Using o mesmo punho do SQL que na etapa precedente, criar um cursor nomeado chamando SqlOpen. 6.Posicionar o cursor fileira apropriada (using, as funes por exemplo, de SqlFetchNext, de SqlFetchPrevious, ou de SqlFetchRow). 7.Using o outro punho do SQL, preparar e executar uma indicao da ACTUALIZAO com ONDE CORRENTE da clusula do cursor. Especific o cursor que foi nomeado com SqlOpen. O seguinte fragmento do cdigo ilustra os destaques. Alm do que o fornecimento de um exemplo das etapas alistou acima, mostras deste fragmento a criao da tabela a ser alcanada e a criao do ndice original. Substituir o numeric_data_type com umConnecting Gupta Objects to Databases

2-

Chapter 1

Overview

tipo de dados numricos apropriado para sua base de dados.

1-

Connecting Gupta Objects to Databases

I m p o r t a n t e : Voc precisa de executar a indicao ORIGINAL do NDICE da CRIAO

(includa no cdigo abaixo) somente quando conectado verso 6.x. do usurio de Microsoft SQL. Para outras bases de dados, omitir esta indicao. Chamar a chamada SqlConnect de SqlConnect (hSqlA) (o hSqlB) strCreateTable ajustados =' CRIAM O REALTY da TABELA' strCreateTable = strCreateTable ajustados || ' (PROPNUM INT,' strCreateTable = strCreateTable ajustados || ' CIDADE VARCHAR (30),' strCreateTable = strCreateTable ajustados || ' Chamada SqlP r e p a r e A n d E x e c u t e d o n u m e r i c _ d a t a _ t y p e d o P R E O )' (hSqlA, strCreateTable) Ajustar o strCreateIndex =' CRIAM O NDICE ORIGINAL REALTY_IDX' Ajustar o strCreateIndex = o strCreateIndex || ' Chamada SqlPrepareAndExecute no REALTY (PROPNUM)' (hSqlA, strCreateIndex) Chamada SqlSetResultSet (hSqlA, VERDADEIROS) Chamada SqlPrepareAndExecute (hSqlA,' PROPNUM SELETO, CIDADE, PREO DO REALTY PARA A ACTUALIZAO EM: COL1,: COL2,: COL3') Se no SqlOpen (hSqlA,' CUR1') ... Se no SqlFetchNext (hSqlA, nRetVal) ... Se no SqlPrepare (hSqlB,' REALTY da ACTUALIZAO AJUSTAR O PREO =: COL3 ONDE CORRENTE DE CUR1') ... ! Se nenhum problema que prepara a indicao da ACTUALIZAO, a faz. Chamada outra SqlExecute (hSqlB)

Ler o captulo que cobre a base de dados a que voc est conectando para encontrar se as sustentaes dessa base de dados posicionaram actualizaes.

Modalidade ajustada do resultadoVoc gira sobre modalidade ajustada do resultado em sua aplicao de SQLWindows para permitir que um usurio de sua aplicao enrole ambos envia e para trs atravs de um jogo do resultado retornado pela base de dados. A modalidade ajustada do resultado fora de revelia quando voc conecta a algumas das bases de dados cobertas neste livro. Quando a modalidade ajustada do resultado est, h diversas conseqncias para sua aplicao: Voc pode recuperar somente um resultadoConnecting Gupta Objects to Databases

2-

Chapter 1

Overview

ajustado em um momento. O cursor pode mover-se para a frente somente.

1-

Connecting Gupta Objects to Databases

Modalidade ajustada do resultado

Voc deve buscar todas as fileiras do jogo do resultado antes de recuperar um outro resultado ajustado ou de executar uma outra indicao de SQL (por exemplo, CRIAR A TABELA), mesmo em um outro punho. Isto significa que, contanto que um jogo do resultado recuperado em um punho dado do SQL for pendente (voc no buscou ainda todas as fileiras), seu a aplicao no pode executar nenhuma operaes em nenhum outro punho do SQL na aplicao.I m p o r t a n t e : Nenhuma destas limitaes aplica-se se voc gira sobre modalidade ajustada do

resultado.

Desligando a modalidade sobre ePara girar sobre modalidade ajustada do resultado, incluir a indicao: AjustarSqlResultSet=TRUE

em sua aplicao de SQLWindows (antes de chamar SqlConnect). Voc pode igualmente incluir a indicao:Chamada SqlSetResultSet (h S q l , VERDADEIROS)

em sua aplicao. Fazer esta chamada antes que voc prepare e execute a indicao SELETA que recupera o resultado ajustado para qual voc quer o cursor ser scrollable. Para desligar modalidade ajustada do resultado, especific FALSO (em vez de VERDADEIRO) n a s i n d i c a e s do jogo e de chamada. Se voc gira sobre modalidade ajustada do resultado para um usurio de base de dados que no suporte os cursores scrollable (chamados s vezes cursores backend), o software de SQLRouter empreg jogos do resultado da parte frontal (FERS) para come o mesmos efeito-effectfor mais informao, leu jogos do resultado da parte frontal na pgina 1-8. Para encontrar se a base de dados voc est conectando sustentaes s scrollable cursores (backend), ler o captulo neste livro que cobre essa base de dados.

Rubricar o ajusteQuando uma aplicao de SQLWindows comea primeiramente acima, o valor da varivel de sistema global SqlResultSet indeterminado (zero). Contanto que o valor de varivel permanecer indeterminado, a modalidade ajustada do resultado inicialmente sobre para todas suas conexes a SQLBase e inicialmente fora paraConnecting Gupta Objects to Databases

2-

Chapter 1

Overview

todas suas conexes a todos usurios de base de dados restantes. Se voc ajusta SqlResultSet PARA RECTIFICAR, a modalidade ajustada do resultado inicialmente sobre para toda a conexo que subseqente voc fizer a qualquer usurio de base de dados, including SQLBase. Se voc ajusta SqlResultSet a FALSO, a modalidade ajustada do resultado inicialmente fora para toda a conexo que subseqente voc fizer a qualquer usurio de base de dados, including SQLBase. Em um ou outro caso, se voc ajusta ento SqlResultSet a NUMBER_Null, a modalidade ajustada do resultado inicialmente sobre para todas suas conexes subseqentes a SQLBase e inicialmente fora para todas as conexes subseqentes a todos usurios de base de dados restantes.

1-

Connecting Gupta Objects to Databases

Mudar o valor da varivel global SqlResultSet no afeta o ajuste de modalidade ajustada do resultado para nenhuma conexo existente. Para mudar o ajuste de uma conexo existente, voc deve chamar a funo SqlSetResultSet.Importante:

Com o usurio 6.x de Microsoft SQL ou a toda a origem de dados de ODBC, mesmo que voc especific um punho especfico do SQL como um argumento a SqlSetResultSet, o ajuste novo para modalidade ajustada do resultado afeta todos os punhos do SQL na mesma conexo, no apenas o punho que do SQL voc passa como um argumento. Se voc conecta nativa a Oracle, Informix, ou o sistema 11 de Sybase, entretanto, o ajuste novo para modalidade ajustada do resultado afeta somente o punho que voc especific como um argumento a SqlSetResultSet.

Efeitos de ajustar a modalidadeO ajuste de modalidade ajustada do resultado pode afetar mesmo se voc pode ter jogos abertos do resultado do mltiplo (cursores simultneos). Com CA-OpenIngresOpenIngres, using jogos simultneos mltiplos do resultado, voc deve ajustar S q l R e s u l t S e t antes de todo o S q l C o n n e c t s . Se no, voc tem que usar a ligao de controle aps cada um conecta. Tambm, o ajuste de modalidade ajustada do resultado pode afetar os procedimentos armazenados que o resultado do retorno ajusta:U s u r i o d e M i c r o s o f t S Q L - voc deve sempre desligar modalidade ajustada do resultado antes de chamar um procedimento armazenado se retorna uns ou vrios resulta jogos. Uma vez que voc retorna do procedimento armazenado, voc pode girar modalidade ajustada do resultado para trs sobre se voc deseja.

de ODBC fonte-sourceAny exigncias especiais, limitaes, ou efeitos secundrios dependem de que excitador de ODBC voc est usando e a origem de dados voc est alcanando. Ler sua documentao do excitador e do usurio de base de dados para mais informao.Os dados

voc chama SqlPLSQLCommand, SQLWindows desliga automaticamente modalidade ajustada do resultado para o punho que do SQL voc fornece como um argumento. Uma vez que voc retorna da chamada a SqlPLSQLCommand, voc pode girar modalidade ajustada do resultado para trs sobre se voc deseja.Oracle-OracleWhen

Ver a tabela abaixo para mais informao.Atributo Oracle/Informix Usurio de Microsoft SQL Sistema 11 de Sybase CA - OpenIngres

default*

FORA DE

FORA DE

FORA DE

Connecting Gupta Objects to Databases

2-

Chapter 1

Overview

cursores scrollable jogos simultneos do resultado

deve ser SOBRE

deve ser SOBRE

deve ser SOBRE deve ser SOBRE (se certificar o autocommit est)

pode ser DE deve ser SOBRE LIGAR/DESLIGAR

1-

Connecting Gupta Objects to Databases

Palavras-chaves de SQL.INI

Atributo

Oracle/Informix

Usurio de Microsoft SQL Sistema 11 de Sybase

CA-OpenIngresOpenIngres

actualizaes deve estar posicionadas ou supresses using um cursor Status de modalidade ajustada do resultado.

no suportado **

no suportado

* Esta fileira est correta se a varivel global SqlResultSet nula ou FALSA. ** Quando conectado ao sistema 11 de Sybase, voc pode declarar um cursor em fileiras de um procedimento armazenado e do esforo de um jogo do resultado retornado por esse procedimento armazenado; entretanto, voc no pode fazer actualizaes ou supresses posicionadas no resultado ajustado using esse cursor.

Palavras-chaves

de SQL.INI

Todas as aplicaes de SQLWindows se inicializam lendo a lima de SQL.INI. Para encontrar mais sobre esta lima, ler aplicaes de inicializao de SQLWindows na pgina 2-5.

Procedimentos armazenadosA maioria de bases de dados permitem os procedimentos que contm as indicaes de SQL e a lgica do procedimento a ser compiladas e executado no usurio de base de dados. Estes procedimentos podem retornar jogos do resultado, e alguns podem aceitar variveis do ligamento da entrada (variveis de anfitrio) como argumentos. Se os procedimentos armazenados de sustentaes de base de dados do alvo, voc podem os chamar de uma aplicao de SQLWindows. Using procedimentos armazenados pode melhorar o desempenho da aplicao reduzindo o trfego de rede e executando operaes compiladas do SQL no usurio. Porque os procedimentos armazenados so compilados, as plantas da execuo so armazenadas em uma tabela do sistema; isto permite que o procedimento armazenado execute muito rapidamente. Os procedimentos armazenados podem realar a segurana actuando como um ponto de acesso controlado aos dados sensveis. Podem igualmente aumentar o vigor e a confiabilidade do tratamento distribudo centralizando crtico ou a lgica da aplicao do ncleo em uma posio (o usurio). Dependendo do usurio que de base de dados voc est conectando a, voc pode poder passar argumentos da entrada, recuperar valores em argumentos da sada, recuperar um status do resultado do procedimento armazenado, e recuperar jogos do resultado. Em alguns casos voc pode poder especific argumentos da entrada e recuperar argumentos da sada using variveis do ligamento. Ler o captulo que cobre a base de dados a queConnecting Gupta Objects to Databases

2-

Chapter 1

Overview

voc est conectando para encontrar se procedimentos armazenados de sustentaes dessa base de dados, como chamar a, e todo o outro especfico da informao a essa sustentao de base de dados para procedimentos armazenados.

1-

Connecting Gupta Objects to Databases

TransaesUma transao um jogo das aes em uma base de dados que so atmicoatomicallyall tratados das aes so feitas permanente na base de dados ou nenhumas delas so. Normalmente, voc faz todas as aes permanentes preparando e executando a indicao da CONSIGNAO (ou chamando SqlCommit); se voc quer abandonar todas as aes (undo as), voc prepara e executa a indicao do ROLLBACK. No h nenhuma funo do SAL que corresponde a SqlCommit. Para rolar para trs uma transao, voc prepara e executa a indicao do ROLLBACK. Por exemplo:SqlPrepareAndExecute (hSql,' ROLLBACK')

Cada um COMETE ou a indicao do ROLLBACK define um limite novo da transao; todas as indicaes cujas as aes so feitas permanentes com COMETEM (ou undone com ROLLBACK) so parte do espao da transao. Para a informaes adicionais, ler Autocommit na pgina 1-3 e os punhos, os contextos, e as conexes na pgina 1-9.

Connecting Gupta Objects to Databases

2-

Chapter 2

Initializing and Testing Your ConnectionEste captulo descreve como conectar uma aplicao de SQLWindows a uma base de dados, como testar a conexo, e como configurar a iniciao do cliente.

Connecting Gupta Objects to Databases

2-

Sumrio de que a fazer1. Instalar seu software do protocolo de rede (tal como TCP/IP, NetBIOS, NetBEUI, nomeado Tubulao, ou IPX/SPX) e o software do cliente-client-side fornecido por seu vendedor da base de dados (software da camada do acesso de rede, biblioteca do API, e ferramentas e utilidades do cliente). Seguir as instrues na documentao fornecida com aqueles produtos.

2.

Chapter 2

Verific que voc pode conectar a sua base de dados do alvo using uma ferramenta apropriada fornecida por seu base de dados ou outro provedor. Se voc precisa a ajuda, falar a seu administrador da rede ou de base de dados. Algumas das ferramentas disponveis so: Informix-ILogin.exe

Initializing and Testing Your ConnectionOracle-SQL*Plus (se voc tem uma verso suficientemente recente da base de dados), prova a pro aplicao de C Monitor do Ca-OpenIngres-CA-OpenIngresTerminal Microsoft SqlServer-ISQL/w Vantagem Sybase-SybaseSQL 3. 4. 5. 6. Instalar SQLWindows e escolher o SQLRouters apropriado para as bases de dados que voc estar conectando a. Configurar a origem de dados do alvo. (Isto se aplica somente se voc est conectando usando ODBC.) Configurar a iniciao de SQLWindows editando a lima de SQL.INI apropriadamente. Verific que voc pode conectar base de dados do alvo using o software de Gupta funcionando SQLTalk para Windows.

A informaes adicionais em etapas 4 a 6 fornecida aps a seo seguinte.

Antes de conectarEsto aqui algumas coisas a verific para fora antes de tentar conectar uma aplicao de SQLWindows a uma base de dados:N a m q u i n a

de cliente:

Ser certo que todos os componentes de software alistados nas notas de liberao esto instalados no computador do cliente. Verific que voc pode conectar base de dados do alvo using as ferramentas apropriadas fornecidas pelo vendedor da base de dados. Ler a documentao fornecida2Connecting Gupta Objects to Databases

Chapter 2

Initializing and Testing Your Connection Configurando u m a o r i g e m d e d ad o s de ODBC

pelo vendedor a aprender sobre tais ferramentas e como us-las para verific a conexo entre seu cliente e a base de dados. Certific dea lima de SQL.INI contenha as indicaes apropriadas, e que os valores da palavra-chave esto especific corretamente. Para aprender mais sobre isto, ler o descanso deste captulo, a seguir ler os captulos que cobrem as bases de dados que voc est conectando a.N a m q u i n a

do usurio:

Certific deo software de rede apropriado esteja funcionando. Ser certo que o usurio de base de dados est funcionando e isso a base de dados do alvo estve criada. Verific que voc tem um cliente de usurio com os privilgios corretos na base de dados. Nota: Consultar com seu administrador de base de dados e administrador de rede para toda aajuda que adicional voc possa precisar.

Configurando uma origem de dados de ODBCEsta seo aplica-se somente se voc est conectando a uma base de dados using ODBC (como ao usurio 2000 de Microsoft SQL, DB2/400, Microsoft Access, e assim por diante). O seguinte procedimento descreve como usar o administrador de ODBC para adicionar e set up uma origem de dados.

Adicionando e setting-up uma origem de dados de ODBC1. Selecionar o painel de controle do menu do comeo e navegar ao cone de ODBC. Dependendo do sistema de explorao, pode ser ficado situado dentro do cone administrativo das ferramentas. 2. 3. Na janela do administrador da origem de dados de ODBC, o clique adiciona.

A caixa de dilogo nova da origem de dados da criao indicada com a lista de excitadores de ODBC instalados em sua mquina. Selecionar o excitador apropriado desta lista, a seguir estalar o revestimento. Preencher a informao necessria na caixa de dilogo indicada, a seguir estalar a APROVAO. Voc come normalmente a informao que voc precisa de terminar esta caixa de dilogo de seu administrador de base de dados. Voc pode igualmente ler a ajuda em linha (ajuda do clique) ou a documentao fornecida2Connecting Gupta Objects to Databases

4.

por seu vendedor do excitador de ODBC.

Connecting Gupta Objects to Databases

3-

5. A origem de dados que voc especific adicionada lista de origens de dados n a j a n e l a d o a d m i n i st ra d o r d a o ri g e m d a d o s de ODBC e a o O D B C . L i m a de INI. APROVAO d o c l i q u e a terminar.

de

Chapter 2

Initializing and Testing Your Connection

2-

Connecting Gupta Objects to Databases

Initializing S Q L W i n d o w s applications

O D B C . A l i m a de INI direto-directlyuse o administrador de ODBC para fazer todas as mudanas a sua lista de origens de dados de ODBC. Tambm, verific a documentao que vem com seu excitador de ODBC considerar se seu vendedor do excitador de ODBC igualmente suporta outras maneiras de modificar o O D B C . L i m a de INI. I m p o r t a n t e : No editar o

Aplicaes de inicializao de SQLWindowsTodas as aplicaes de Gupta (SQLWindows including prprio e todos seus componentes) leram uma lima de configurao antes de funcionar. O nome de defeito desta lima SQL.INI, mas voc tem a opo para especific uma lima de configurao de um nome diferente em uma posio da sua escolha. (Ns usaremos o nome SQL.INI durante todo esta documentao para referir a lima de configurao.) Para configurar a iniciao de sua aplicao, adicionar, suprimir, ou modificar das indicaes nesta lima. Voc pode usar um editor de texto, mas Gupta recomenda que voc usa a aplicao do administrador da conectividade que vem com colaborador da equipe. Se voc instalou outros produtos das tecnologias de Gupta em sua mquina, uma lima de configurao j existe. Se voc instala SQLWindows no mesmo diretrio que os outros produtos das tecnologias de Gupta, o programa de instalao adiciona indicaes novas ou modifica indicaes existentes na lima.N o t a : Todas as indicaes da lima

velha de SQL.INI so transferidas no novo.

Trajeto de busca para SQL.INIAntes de funcionar uma aplicao de SQLWindows, ser certo que uma lima de configurao pode ser encontrada. O nome de arquivo do defeito SQL.INI, e procurarado por como como segue: Se este uma aplicao do projetar-design-time, e voc especific o nome e a posio de sua lima de configurao sob o artigo de menu das ferramentas/preferncias, que o nome e a posio sero usados. Se somente um nome especific, esse nome estar no lugar de SQL.INI e as posies procuraradas como descritas abaixo. Para ver se h uma aplicao de SQLWindows no tempo de execuo, a varivel de sistema SqlINI verific primeiramente. Se um nome de arquivo (e opcionalmente a posio) sos nessa varivel, esses nome e posio usados para encontrar a lima de configurao. Se no a seqncia da busca abaixo usada. Quando uma aplicao precisa de procurarar pela lima de configurao, olha primeiramente no diretrio que voc especific na varivel de ambiente de SQLBASE. Se no encontrado l, a ordem da busca para esta lima : 1.Diretrio atual.Connecting Gupta Objects to Databases

3-

Chapter 2

Initializing and Testing Your Connection

2.\

diretrio

do sqlbase na movimentao atual.

2-

Connecting Gupta Objects to Databases

Initializing S Q L W i n d o w s applications

3.Diretrio de raiz na movimentao atual. 4.Diretrios especific pela varivel de ambiente do TRAJETO. 5.O diretrio do executvel. 6.O diretrio de sistema de Windows. 7.O diretrio de Windows.N o t a : Embora o colaborador 3.1 da equipe e mais atrasado permita a existncia de limas de

configurao mltiplas em uma nica mquina, voc deve ainda ser cauteloso quando voc tem limas mltiplas. A causa a mais comum de diificulties da conectividade uma aplicao que conecta a uma lima de configurao quando o colaborador acredita que est conectando a uma lima diferente. Compreender a seqncia da busca acima e estar certo que sua aplicao est encontrando a lima direita.

Como SQL.INI estruturadoSQL.INI uma lima de texto simples que voc modifica a ferramenta do administrador da conectividade no colaborador da equipe (recomendado) ou em usar todo o editor de texto do ASCII. A lima subdividida em sees. Cada seo comea com um nome de seo, uma corda de carter fechada nos suportes quadrados. Cada seo contem zero ou mais indicaes. Cada indicao comea com uma palavra-chave, seguida pelo sinal de iguais e por uma seqncia de valores vrgula-comma-separated: [mais section_identifier] palavra-chave 1=parameter1 (, parameter2...) keyword2=parameter1 (, parameter2...)

...

keywordn=parameter1 (, parameter2...) Quando este livro descreve um valor de defeito para uma palavra-chave de SQL.INI, este o valor como definido na lima de SQL.INI antes que um usurio a edite, ou o valor supor quando a indicao que contem a palavra-chave ausente ou comentada para fora. A ordem em que as sees aparecem no significativa. Para a maioria de sees, a ordem de palavras-chaves dentro de uma seo no igualmente significativa. A nica exceo a ordem das palavras-chaves do comdll [win32client .dll] na seo, e a ordem das palavras-chaves do remotedbname nas sees atribudas a cada base de dados individual. Quando uma aplicao de SQLWindows inicializa, tenta fazer uma conexo a uma base de dados que segue a ordem dos routeres alistados using o comdl l palavraschaves; para cada router, a aplicao tenta conectar a uma base de dados na ordem especific pelas palavras-chaves apropriadas do remotedbname.Connecting Gupta Objects to Databases

3-

Chapter 2

Initializing and Testing Your Connection

Se voc conecta nativa a Oracle, ou a Sybase, a palavra-chave do longbuffer na lima de SQL.INI especific o nmero de bytes mximo do tipo de dados longo colunas para recuperar,

2-

Connecting Gupta Objects to Databases

Initializing S Q L W i n d o w s applications

e trunca bytes adicionais. Entretanto, esta palavra-chave no controla quanto dados longos podem ser introduzidos ou actualizados. Se voc conecta a Microsoft SQL o usurio ou a qualquer origem de dados using ODBC, controles desta palavra-chave quanto dados longos podem ser buscados, introduzido ou actualizado.

C o mo ed i ta r S QL .IN IGupta recomenda using o administrador da conectividade editar SQL.INI. Esta ferramenta faz a sintaxe que verific para facilitar sua introduo de dados e para impedir muitos erros inadvertidos. Entretanto, se voc escolhe usar um editor de texto em SQL.INI, ser consciente destas directrizes: Alistar parmetros para uma palavra-chave na ordem indicada na seo da sintaxe da pgina da referncia para essa palavra-chave. Os parmetros podem ser carteres alfanumricos do ASCII somente-onlyno relevos, hfens, ou perodos. Verific com cuidado a sintaxe de uma indicao da palavra-chave; na maioria dos casos, voc usa vrgulas (no espaos) para separar parmetros. Pr cada indicao sobre uma linha. Introduzir retorno ou todos os marcadores do "end-of-line" na indicao pode causar erros. Os comentrios pr em suas prprias linhas um pouco do que coloc comentam nas mesmas linhas que indicaes da palavra-chave. Usar um semicolon (;) como o primeiro carter da linha de comentrio. Uma aplicao de SQLWindows l o SQL.INI somente quando inicializa. Para forar uma aplicao para ver algumas mudanas que voc fizer lima, voc deve parar ou retirar de todo o software de Gupta que funciona no cliente (SQLWindows including e todas as aplicaes running criados com o SQLWindows), a seguir reinicia a aplicao.I m p o r t a n t e : Se voc usa um tratamento de textos em vez de um editor de texto para modificar

a lima de SQL.INI, excepto a lima como o "texto somente." Se no, o tratamento de textosintroduz os cdigos de controle que corrompem a lima.

P a la v r a s - c h a ve s de S QL .IN I a u sa r-sePara aprender como set up a lima de SQL.INI, ler o captulo apropriado para a base de dados a que voc est conectando. A lima de SQL.INI deve sempre ter pelo menos um c o m d l l indicao identificar o SQLRouter a ser usado ao conectar a uma base de dados.Importante:

Connecting Gupta Objects to Databases

3-

Testando a conexoPara testar a conexo entre o software de Gupta que funcionam em sua mquina de cliente e a base de dados, SQLTalk funcionado para Windows e a tentativa para ver uma tabela que voc sabe esto na base de dados e isso voc tem a permisso para olhar. Importante: Ser certo verific que voc pode conectar base de dados do alvo using asferramentas fornecidas por seu vendedor da base de dados (ou a outro) antes de using SQLTalk.

Chapter 2

Testando a conexo com o SQLTalksql d a l i m a e x e c u t v e l . instalao de Gupta.

1. Comear SQLTalk para Windows funcionando a conversa doexe

2.

Initializing and Testing Your Connectionno diretrio de Selecionar a sesso, conect-la do SQLTalk para que a barra de menu de Windows indique a caixa de dilogo da conexo. Preencher o nome de base de dados, seu nome de usurio, e sua senha.

3.

Verific que a informao da conexo parece n a c a i x a d e c o n e x e s atual do dilogo da conexo caixa-boxthis confirma que voc conectou com sucesso base de dados. Fim do clique na caixa de dilogo da conexo. Selecionar a lima, retir-la do SQLTalk para a barra de menu de Windows.

4.

Se voc v a informao da conexo na ca ix a d e co n ex e s atual da caixa de dilogo da conexo, voc configurou corretamente sua mquina de cliente para comunicar-se com a base de dados do alvo de uma aplicao de SQLWindows. Nota: Para mais informao em como usar SQLTalk, ler os tpicos de ajuda em linha deGupta para SQLTalk.

Conexo a SybaseVoc no precisa de funcionar certificados da opinio do catlogo antes de funcionar suas aplicaes de SQLWindows de encontro ao sistema 11 .x de Sybase e mais elevado, porque SQLRouter/Sybase pode alcanar o catlogo de sistema diretamente sempre que necessrio. Entretanto, voc precisa de obter privilgios apropriados para cada base de dados que de Sybase voc conectar a antes que voc possa funcionar SQLWindows ou uma aplicao voc cria com o SQLWindows.2Connecting Gupta Objects to Databases

Para cada tal base de dados: 1.O incio de uma sesso como um usurio que tenha o administrador de sistema privilegia.

2.Funcionar o programa

S Y B P R I V S . EXE

(situado no diretrio

de instalao de Gupta).

Connecting Gupta Objects to Databases

3-

Chapter 2

Initializing and Testing Your Connection Conexo a Oracle

Conexo a OraclePara conectar a Oracle, voc pode ter que fazer determinadas mudanas a seu registro de Windows. Voc deve igualmente criar determinadas vistas para alcanar tabelas e para funcionar procedimentos armazenados.

Modificando o registroPara permitir que seu software do cliente-client-side de Oracle (bibliotecas e SQL*Net de OCI) trabalhe junto corretamente, voc precisa de modificar Oracle seciona de seu registro de Windows. Se voc est usando a verso 8.0.x do software do cliente-client-side de Oracle, adicionar uma das seguintes entradas ao registro:verso do Cliente-Client-side Entrada a adicionar ao registro

Verso 8.0.x

ORAOCI=ORA83.DLL e ORAOCI=ORA84.DLL

N o t a : A verso 9.x de Oracle no exige nenhuma modificaes ao registro.

Criando vistasAntes que voc possa alcanar tabelas em Oracle voc deve funcionar o certificado apropriado das vistas. Voc deve igualmente funcionar vistas especficas script para poder executar procedimentos armazenados em Oracle.

Tabelas de acesso e procedimentos armazenados em Oracle 8 e 9Para alcanar tabelas em Oracle 8 ou 9, voc deve executar o certificado VIEW8. ORA. Para executar procedimentos armazenados, voc deve executar o certificado PLSVIEW8. ORA. Estes certificados so ficados situados no diretrio de instalao de Gupta. Quando voc funciona o certificado, assinar sobre como o sistema (ou um outro usurio com a mesma autoridade que o sistema). Igualmente, se voc precisa de alcanar o cliente do sistema, adicionar uma linha com a palavra-chave substitute na seo [oragtwy] da lima SQL.INI como segue:substitute=SYSSQL.,

N o t a : Pr um perodo aps

SYSSQL, a seguir uma vrgula, a seguir

pressionar a chave DO RETORNO.2Connecting Gupta Objects to Databases

Para mais informao sobre a utilizao da palavra-chave substitute com Oracle, ler s u b s t i t u i r na pgina 4 - 1 0 .

Connecting Gupta Objects to Databases

3-

Funcionando um certificado da vista

1.

Comear SQLTalk do grupo do colaborador da equipe de Gupta no menu do programa, ou funcionando o sqltalk da lima executvel. exe no diretrio de instalao de Gupta. Selecionar a sesso, conect-la da barra de menu. Preencher a caixa de dilogo com a informao apropriada. 4. Chapter A lima seleta, abre da barra de menu. 2 5. *). 3. Uma vez que voc conectado, fim do clique.

2.

6.

Initializing and Testing Your ConnectionSelecionar a lima VIEW8. ORA (ou PLSVIEW8. ORA) no diretrio de instalao de Gupta se usando Oracle8. Selecionar a lima VIEW7. ORA (ou PLSVIEW7. ORA) se usando Oracle7. Selecionar a sesso, executar o certificado da barra de menu. Deixar o certificado funcionar concluso. (Ignorar todas as mensagens de erro sobre as tabelas que esto sendo deixadas cair.) 8. Selecionar a lima, retir-la do menu.

Na lima do tipo caixa da seleo, selecionar todas as limas (*.

7.

Nota: Para mais informao em como usar SQLTalk, ler os tpicos de ajuda em linha deGupta para SQLTalk.

Especific a base de dados em sua aplicaoEm sua aplicao de SQLWindows, voc pode identificar o nome da base de dados para conectar com varivel de sistema de SqlDatabase. Por exemplo, se o nome da base de dados ORDENS, incluir a indicao:Ajustar SqlDatabase='

ORDENS'

em sua aplicao antes de chamar SqlConnect. Certificar-se que o nome da base de dados que voc atribui exatamente o mesmo como o nome voc atribui ao remotedbname da palavra-chave no SQL.INI lima-filesee as palavraschaves da seo SQL.INI no captulo que discute sua base de dados do alvo. (Se voc est usando ODBC, se certificar que o nome que voc atribui a SqlDatabase o nome voc se usou quando setting-up os dados fontesourcesee configurar uma origem de dados de ODBC na pgina 2-3.)2Connecting Gupta Objects to Databases

Troubleshooting problems

Problemas da pesquisa de defeitosEsta seo discute alguns dos problemas que podem se levantar ao conectar aplicaes de SQLWindows a suas base de dados e maneiras possveis os resolver. Ele

Connecting Gupta Objects to Databases

3-

Chapter 2

Initializing and Testing Your Connection

igualmente tem uma tabela de alguns dos erros que voc pode encontrar ao funcionar aplicaes de SQLWindows junto com sugestes para a fixao elas.

Conexo dos problemasQuando uma aplicao de SQLWindows inicializa, l a lima de SQL.INI. Quando a aplicao ler [cliente win3 2. seo dessa lima, do DLL] carrega todo o DLLs especific no comdl l indicaes. A aplicao tenta conectar base de dados chamando a funo apropriada em cada DLL carregada. Se o DLL encontra a base de dados pedida, emite uma base de dados conecta o pedido. Se o DLL no come nenhuma resposta, retorna a "falha conectar" o erro aplicao, que chama ento a funo apropriada no DLL seguinte que foi carregado. Isto continua at que ou uma conexo esteja estabelecida ou todo o DLLs estiver tentado. Se voc tem o problema conectar sua aplicao de SQLWindows a sua base de dados do alvo: 1.Verific com seu administrador de base de dados que a base de dados do alvo esteja funcionando. 2.Verific que voc pode conectar base de dados de sua mquina de cliente, primeiramente com as ferramentas nativas da base de dados do cliente (ou o equivalente), ento com o SQLTalk para Windows. 3.Ler a seo na pesquisa por SQL.INI mais cedo neste captulo. Caso necessrio e prtico, rebatizar temporariamente outras cpias de SQL.INI de modo que sua cpia desejada seja nica com o nome original. No esquecer inverter o processo de rebatismo depois que voc determinou a fonte do problema. SQL.INI arquiva em sua mquina (que possvel se voc instala produtos diferentes das tecnologias de Gupta em diretrios diferentes), a lima que voc modifica no pde ser esse que est sendo usado no tempo da iniciao. Verific a ordem em que os diretrios so procurarados pelo SQL.INI lima-filerefer a o t r a j e t o d e b u s c a p a r a S Q L . I N I na pgina 2 - 5 .I m p o r t a n t e : Se voc tem mltiplo

4.Certific deo comdl

apropriado l indicaes aparea no

[win32client. seo do DLL] da lima de SQL.INI. (Lido

a seo d a s p a l a v r a s - c h a v e s de SQL.INI em cada captulo que discute uma base de dados a que voc est conectando para mais informao sobre o comdl l palavra-chave.)

5.Certific de voc configure suas

indicaes do remotedbname corretamente. (Esta etapa no se aplica se voc est conectando a sua base de dados using ODB C.)2Connecting Gupta Objects to Databases

Troubleshooting problems

Truncamento de dados LONGOSSe voc encontra que os dados das colunas LONGAS dos dados esto sendo truncados, voc no pode ter ajustado o valor para a palavra-chave do fe r do longbuf altamente bastante na lima de SQL.INI. Para mais informao, ler a pgina da referncia do longbu f f e r no captulo apropriado para a base de dados que voc est conectando a.

Connecting Gupta Objects to Databases

3-

Chapter 2

Initializing and Testing Your Connection

Chamadas de registo de ODBC APISe voc conecta a sua base de dados using ODBC, voc pode seguir a seqncia das chamadas do API feitas em nome de sua aplicao de SQLWindows incluindo o odbctrace=on da indicao e o odbctracefile=filename da indicao na lima de SQL.INI. Ler as pginas da referncia do ile do odbctrace e do odbctracef no captulo apropriado para a base de dados que voc est conectando para a mais informao.

Verific as notas de liberaoAs notas de liberao que acompanham este produto contm a informao til sobre: erros conhecidos reparados em uma liberao particular, assim como aqueles ainda - proeminente estar listado. Se o erro foi relatado, voc pode pedir tecnologias de Gupta o status nele.Problema-ProblemsAll

o software ambiente-environmentsCertified certificados so aqueles que foram testadas realmente por Gupta Tecnologia. Anotar que a matriz de verses certificadas da base de dados e verses do sistema de explorao est disponvel em nosso Web site, http://www.guptaworldwide.com.Os ambientes e

2-

Connecting Gupta Objects to Databases

Troubleshooting problems

Contatando o suporte laboralAntes de contatar o suporte laboral com um problema, gravar por favor a seguinte informao: 1. Nmeros de verso de: Microsoft Windows Gupta SQL Windows Gupta SQLRouters O software de comunicao O usurio de base de dados

2.Verso e dataDLL.

do

SQLWNTM.

Biblioteca

de ligao dinmica do

3.Uma quantidade de recursos disponveis da memria e do sistema de explorao. 4.Nome do componente com o problema (nome dos executables que funcionam, ou GPF, ou mensagem de erro). 5.O texto exato de algumas mensagens de erro. 6.ndices das seguintes limas: SQL.INI limas da iniciao do Cliente-Client-side para sua base de dados Algumas limas de registro Determinar se voc pode reproduzir o problema consistentemente. Escrever para baixo as etapas assim que voc pode ajudar seu coordenador do suporte laboral a reproduzir o problema. Uma aplicao de amostra que recreia simplesmente e confiantemente o problema a mais rpida e a maioria de maneira eficaz come seu problema resolvido. Se voc est relatando um problema da documentao, anotar o nmero de pgina no livro impresso, ou o nome de arquivo e o ttulo do tpico na ajuda em linha.

Connecting Gupta Objects to Databases

3-

E r r o s e m an e i ra s sel e ci on a d o s rep a r -lo sA tabela abaixo das lista alguns dos erros que podem ser gerados ao funcionar uma aplicao de SQLWindows, e sugerem remdios possveis.Problema Razo Remdio

111 - SQL relao da aplicao entrado recursively.

Chapter 2

135 - Invlido punho do cursor. 201 - Nenhum compilado comando.

Initializing and Testing Your ConnectionVerific a sintaxe de seu SQL indicao. Verific concatenao do SQL multi-line indicaes. Certificar-se dolongbuffer

203 - SQL invlido indicao.

A aplicao re-entered a biblioteca SQLWNTM. DLL ao esperar a pedido do usurio. SQLWNTM. O DLL reprincipiante somente de diferente Um punho do SQL foi passado a uma funo antes de uma conexo vlida era estabelecido. A aplicao est tentando a executar uma operao, e qualquer um que tem no compilado uma indicao de SQL, ou No. a indicao existe mais por muito tempo (para Voc construiu uma indicao de SQL com sintaxe ilegal, ou espaado indicao sobre diversas linhas sem concatenando as partes da indicao corretamente. O valor binrio convertido excede um ou outro a capacidade de comunicaes API ou a corrente ajuste do fer do longbuf.

Verific para ver se h re-entrancyentrancy (para exemplo, mensagens de SAM_Timer durante operaes assncronas) e incapacit-los durante o usurio Estabelecer uma conexo vlida antes de passar um punho do SQL aa funo. Compilar indicaes de SQL antes executando os.

321 - Introduzir ou actualizar o valor demasiado por muito tempo. 9279 - No pode encontrar protocolo especific entrada.

o ajuste no mais baixo do que valor do API das comunicaes.

30002 - Invlido ligao de controle seqncia

Certific deo comdl l as indicaes so especific corretamente na lima de SQL.INI. Verific isso voc forneceu todo o necessrio palavras-chaves na lima de SQL.INI isso aplica-o ao SQLRouters As funes do SAL usadas para invocar Fazer as chamadas no correto os procedimentos armazenados foram seqncia. (Lido a r m a z e n a d o chamados no o s p r o c e d i m e n t o s secionam do seqncia invlida. captulo para sua base de dados para mais informao.) Geralmente esta mensagem significa que o protocolo especific no pode encontrar a entrada est procurando no [win32client .dll] seo de a lima de SQL.INI.2Connecting Gupta Objects to Databases

Aplicaes de amostra

Problema

Razo

Remdio

30003 - Invlido tentativa de obter a resultado subseqente jogo.

Uma tentativa foi feita de come o seguinte resultado ajustado de um procedimento armazenado mesmo

Aplicaes de amostraSobre as aplicaes de amostra

A extremidade de jogos do resultado pode ser detectado verific bandeira do bEndOfResult no lista de parmetro para o SAL funo que come o resultado seguinte jogo. O cdigo de erro 30003 retornado

Diversos provam aplicaes de SQLWindows so instalados no subdirectrio das AMOSTRAS do diretrio de instalao para SQLWindows. As aplicaes de amostra alistaram nesta seo ilustram vrios aspectos de codificar uma aplicao de SQLWindows conj