|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
| < Prev | 1 - 2 | Next > |
|
|
alterações no postgreSQLBoa tarde.
Estou iniciando com postgreSQL e já comecei com um problema. Estou tentando inserir dados em uma tabela e dá um erro dizendo a mensagem: "O conjunto de registros atual não oferece suporte para atualização. Isso pode ser uma limitação do servidor ou do tipo de bloqueio selecionado." Eu rodo o mesmo código em outros SGBDs e funciona sem problemas, só com o postgre que dá essa mensagem e eu não sei como verificar e corrigir. Estou fazendo em VB6 e meu código está da seguinte forma: ******************************************* Public Function inserirRegistro(sTabela As String, colCampos As Collection, colValores As Collection) As Boolean Dim sSql As String Dim recResult As New ADODB.Recordset Dim lnCount As Long On Error GoTo erros inserirRegistro = False sSql = "Select * from " & sTabela & " where 1=2" recResult.Open sSql, Gconn, adOpenDynamic, adLockOptimistic recResult.AddNew For lnCount = 1 To colCampos.count If Not IsNull(colValores.Item(lnCount)) And Trim(colValores.Item(lnCount)) <> "" Then . recResult.Fields(colCampos(lnCount)).value = colValores.Item(lnCount) Next lnCount recResult.Update recResult.Close Set recResult = Nothing inserirRegistro = True Exit Function erros: ... end function ********** minha string de conexão é: Public Gconn As New ADODB.Connection Gconn.open "Provider=PostgreSQL.1;Password='postgres';User ID='postgres';Data Source=XXX.XXX.X.XXX;Location=BancoTeste;Extended Properties='';;" Fico no aguardo. Se alguém puder me ajudar fico agradecida. Patricia |
|
|
Re: alterações no postgreSQL2008/7/7 patricia_sm <patricia_mancilha@...>:
Patrícia, uma das causas que impede de atualizar, de inserir novos registros no PostgreSQL é quando você tem uma tabela sem nenuma chave primária. Verifique se é isso. -- Ribamar FS - ribafs@... http://ribafs.net _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 Ribamar Sousa <ribafs@...>:
> > Patrícia, uma das causas que impede de atualizar, de inserir novos registros > no PostgreSQL é quando você tem uma tabela sem nenuma chave primária. Ribamar, você tem certeza? A princípio, sem testar nem conferir documentação, o efeito da falta de chaves (primária ou alternativas) seria que entraria qualquer porcaria, não que não entraria nada. O que, aliás, é o mesmo efeito do uso somente de chaves artificiais (seriais, auto-incremento &c). -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:leandrod@... +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:chat?contact=leandro@... _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 Leandro DUTRA <leandro.gfc.dutra@...>:
2008/7/8 Ribamar Sousa <ribafs@...>: Tenho, pois várias tabelas que criei sem chave ao tentar inserir registro e.u sou impedido de fazê-lo. Alias, não custava nada você ter testado antes de teorizar (sem ofensas). Vejo testando que isso é coisa somente do pgadmin3 (experimente).
-- Ribamar FS - ribafs@... http://ribafs.net _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 Ribamar Sousa <ribafs@...>:
> > Alias, não custava nada você ter testado antes de teorizar (sem ofensas). Custava, eu trabalho... pouco mas custava. > Vejo testando que isso é coisa somente do pgadmin3 (experimente). Um dedo aponta para os outros, três para si... sem ofensas. Não uso o PgAdmin. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:leandrod@... +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:chat?contact=leandro@... _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQLEm 08/07/08, Ribamar Sousa<ribafs@...> escreveu:
> 2008/7/7 patricia_sm <patricia_mancilha@...>: > >> >> Estou iniciando com postgreSQL e já comecei com um problema. >> >> Estou tentando inserir dados em uma tabela e dá um erro dizendo a >> mensagem: >> >> "O conjunto de registros atual não oferece suporte para atualização. Isso >> pode ser uma limitação do servidor ou do tipo de bloqueio selecionado." >> >> Eu rodo o mesmo código em outros SGBDs e funciona sem problemas, só com o >> postgre que dá essa mensagem e eu não sei como verificar e corrigir. >> > > Patrícia, uma das causas que impede de atualizar, de inserir novos registros > no PostgreSQL é quando você tem uma tabela sem nenuma chave primária. > > Verifique se é isso. > Não existe nenhuma restrição no PostgreSQL que impeça a inserção ou alteração dos registros de uma tabela que não possua chave primária. Isso é perfeitamente possível. bdteste=# CREATE TEMP TABLE foo( bdteste(# cod integer, bdteste(# texto text); CREATE TABLE bdteste=# INSERT INTO foo VALUES(1,'aa'),(2,'bb'),(3,'cc'); INSERT 0 3 bdteste=# SELECT * FROM foo; cod | texto -----+------- 1 | aa 2 | bb 3 | cc (3 registros) bdteste=# INSERT INTO foo VALUES(4,'dd'); INSERT 0 1 bdteste=# UPDATE foo SET texto = 'xyz' WHERE cod = 1; UPDATE 1 bdteste=# SELECT * FROM foo; cod | texto -----+------- 2 | bb 3 | cc 4 | dd 1 | xyz (4 registros) Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 Osvaldo Kussama <osvaldo.kussama@...>:
Osvaldo, a restrição é do PGAdmin. Crie a tabela sem chave. Adicione alguns registros e a abra no PGAdmin para constatar. -- Ribamar FS - ribafs@... http://ribafs.net _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQLpatricia_sm escreveu: > Boa tarde. > > Estou iniciando com postgreSQL e já comecei com um problema. > > Estou tentando inserir dados em uma tabela e dá um erro dizendo a mensagem: > > "O conjunto de registros atual não oferece suporte para atualização. Isso > pode ser uma limitação do servidor ou do tipo de bloqueio selecionado." > > Eu rodo o mesmo código em outros SGBDs e funciona sem problemas, só com o > postgre que dá essa mensagem e eu não sei como verificar e corrigir. Amigo, Esta é uma mensagem do Visual Basic e não do PostGreSql. Veja que você está usando o paradigma POG de programação onde você chama uma sql com uma cláusula " where 1=2" para retornar um ResultSet vazio e depois pede que ele insira um registro neste RecordSet. Ora, até onde eu entendo, para inserir um registro em um banco de dados usa-se um comando chamado "insert into...". Se você mandar um comando "inser..." através do VB, tenho certeza que não terá problema, conclui-se então que o PostGreSql está funcionando normalmente. Acredito que sua dúvida então deva ser respondida melhor em uma lista de Visual Basic, onde talvez, fazer um select que lhe retorne um ResultSet vazio para depois inserir registros tenha algum sentido. Talvez o seu RecordSet esteja retornando ReadOnly devido à tabela não ter chave primária como já respondeu um colega da lista, mas acredito firmemente que isto será melhor respondido por profissionais que trabalham com Visual Basic. -- Shander Lyrio _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: [Bulk] Re: alterações no postgreSQLLeandro DUTRA escreveu: > 2008/7/8 Ribamar Sousa <ribafs@...>: >> Patrícia, uma das causas que impede de atualizar, de inserir novos registros >> no PostgreSQL é quando você tem uma tabela sem nenuma chave primária. > > Ribamar, você tem certeza? Leandro, Acredito que isto seja verdade no Visual Basic. Sim sim, eu já trabalhei com Visual Basic um dia, em mil novecentos e guaraná com rolha. Cheguei até a brincar com a versão 1.0 dele, ainda para DOS, mas parei na 4. O problema não é o insert em si que que não funciona, mas a forma de se fazer um insert. Executar um select POG que te retorne um recordset vazio para depois atualizar. Ora, se a tabela não tem chave primária o Visual Basic deve retornar um RecordSet readonly pois não vai saber em qual atributo se basear para gerar as sql's de update e delete. -- Shander Lyrio _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQLQuoting Leandro DUTRA <leandro.gfc.dutra@...>:
> 2008/7/8 Ribamar Sousa <ribafs@...>: >> >> Alias, não custava nada você ter testado antes de teorizar (sem ofensas). > > Custava, eu trabalho... pouco mas custava. Entrando na conversa, como disse alguns dias atrás sobre criação de tabelas, já fiz algumas importações de ".dbf" usando um tabelão e depois tratando os dados pelo PG (deixando que fizesse o trbalho pesado para mim), e nesses tabelões eu não criava pks, e funcionava. O teste abaixo mostra o resultado de um tabela sem pk (no psql): johnny=# create table sempk(cod smallint, nome text, qqcoisa text, outra int); CREATE TABLE johnny=# insert into sempk values(1, 'Eu Mesmo', 'lixo', 3100); INSERT 0 1 johnny=# insert into sempk values(1, 'Eu Mesmo', 'lixo', 3100); INSERT 0 1 johnny=# insert into sempk values(1, 'Eu Mesmo', 'lixo', 3100); INSERT 0 1 johnny=# insert into sempk values(1, 'Eu Mesmo', 'lixo', 3100); INSERT 0 1 johnny=# select * from sempk; cod | nome | qqcoisa | outra -----+----------+---------+------- 1 | Eu Mesmo | lixo | 3100 1 | Eu Mesmo | lixo | 3100 1 | Eu Mesmo | lixo | 3100 1 | Eu Mesmo | lixo | 3100 (4 registros) ... Quanto ao problema original, o único chute (meu) é com relação a privilégios (grants). []'s -- Johnny Taylor Faria Chaves - LUN 157066 www.brdados.com.br - jfchaves@... Eu não posso mais, se você pode, doe sangue!!! _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQLOlá, pessoal
Quero participar um pouco também. Conforme a teoria, nenhuma tabela deveria ser criada sem chave primária, porém o PostgreSQL permite que sejam criadas tabelas sem a necessidade de uma chave primária. Assim como o Leandro, também não costumo usar o PgAdmin, porém não existe tal restrição no PgAdmin. Para ter certeza disso acabei de fazer o teste e funcionou sem problemas aqui. Fiz o seguinte teste: CREATE TABLE tabela_do_jota(codigo int,nome text); INSERT INTO tabela_do_jota 2008/7/8 Johnny Taylor Faria Chaves <jfchaves@...>:
-- João Paulo www.dextra.com.br/postgres PostgreSQL _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 jota. comm <jota.comm@...>: Olá, pessoal Aqui fechei o PgAdmin e abri novamente e fiz: INSERT INTO tabela_do_jota VALUES (1,'Dextra'); INSERT INTO tabela_do_jota VALUES (2,'Teste2'); A minha inserção funcionou sem problemas. O problema deve ser outro. []s PS: descarte o e-mail anterior, enviei sem querer :(
-- João Paulo www.dextra.com.br/postgres PostgreSQL _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 jota. comm <jota.comm@...>:
> Olá, pessoal Olá, boa tarde! > Quero participar um pouco também. Ora lá vamos chegando e se aprochegando! > Conforme a teoria, nenhuma tabela deveria ser criada sem chave primária E conforme as 'melhores práticas' também. > porém o PostgreSQL permite que sejam criadas tabelas sem a necessidade de > uma chave primária. Infelizmente não é só o PostgreSQL. Isso é permitido no padrão ISO SQL:2006, e em MySQL chega a ser uma prática comum. Sem contar as famigeradas chaves incrementais ou seriais (artificiais), que são praticamente como não ter chave, visto permiitrem dados duplicados (inconsistentes). -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:leandrod@... +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:chat?contact=leandro@... _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: [Bulk] Re: alterações no postgreSQL2008/7/8 Shander Lyrio <shanderlyrio@...>:
> > trabalhei com Visual Basic um dia, em mil novecentos e guaraná com > rolha. Cheguei até a brincar com a versão 1.0 dele, ainda para DOS, mas > parei na 4. Fiquei só na v3, em MS Windows 95. Não deixou saudades. > O problema não é o insert em si que que não funciona, mas a forma de se > fazer um insert. Executar um select POG que te retorne um recordset > vazio para depois atualizar. Ora, se a tabela não tem chave primária o > Visual Basic deve retornar um RecordSet readonly pois não vai saber em > qual atributo se basear para gerar as sql's de update e delete. Faz sentido. Mas POG...? -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:leandrod@... +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:chat?contact=leandro@... _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQLRibamar Sousa escreveu:
> 2008/7/8 Leandro DUTRA <leandro.gfc.dutra@... > <mailto:leandro.gfc.dutra@...>>: > > 2008/7/8 Ribamar Sousa <ribafs@... <mailto:ribafs@...>>: > > Ribamar, você tem certeza? > > > Tenho, pois várias tabelas que criei sem chave ao tentar inserir > registro e.u sou impedido de fazê-lo. > Alias, não custava nada você ter testado antes de teorizar (sem ofensas). Geralmente nas ferramentas GUI que fazem uso de DataGrids não conseguem alterar dados de tabelas sem PKs justamente porque elas não conseguem decidir quais os campos de filtro serão utilizados na clausula WHERE a ser montada. Dentre as ferramentas GUI que testes: DbVis, pgAdmin e Aqua Studio. Já via PSQL voce consegue, pelo simples fato de que nele você é obrigado a definir explicitamente quais campos compoem a clausula WHERE. []s Guedes _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: alterações no postgreSQL2008/7/8 jota. comm <jota.comm@...>: Olá, pessoal Ok Jota, então não existe, só deve acontecer aqui comigo! Para ter certeza disso acabei de fazer o teste e funcionou sem problemas aqui. -- Ribamar FS - ribafs@... http://ribafs.net _______________________________________________ pgbr-geral mailing list pgbr-geral@... https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral |
|
|
Re: [Bulk] Re: [Bulk] Re: alterações no postgreSQL |