Difurlan 0 Denunciar post Postado Novembro 7, 2007 Olá amigos! Estou quebrando a cabeça com um problema que está com cara de configuração do php.ini. Aqui eu uso MS SQL 2000, com um banco de dados que tem algumas tabelas próprias e outras tabelas importadas de um outro banco de dados. Este outro bd (da onde importo tabelas e dados é do MSDE 2000 (pra quem não conhece é o sql server free, como o express). Windows 2003 server com o IIS 6... Pois bem, em outras linguagens como ASP e VB eu consigo acessar sem problemas as tabelas importadas do banco de dados, mas no php não! O erro apresentado é este: Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. (severity 16) in C:\Inetpub\wwwroot\fin\controle_login.php on line 20 Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\wwwroot\fin\controle_login.php on line 20 A linha 20 é esta abaixo: if ($result = mssql_query($query)) (a linha 19 é esta: $query = "Select * From pessoa"; ) A TABELA PESSOA vem na importação. Se eu mudo o select para ( * from movimentacao ) funciona, porque movimentacao foi criada no banco que estou trabalhando. Fiz algumas mudanças em meu php.ini e estou postando o codigo dele aqui também. Se alguém puder me ajudar aqui desde já agradeço a gentileza! Abraços. *** Tirei o php.ini daqui, pois o pessoal devia estar se assustando com o tamanho do post. Por favor pessoal... alguém já deve ter passado por problema similar... Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Novembro 7, 2007 o mssql ta habilitado no php.ini? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Novembro 7, 2007 Olá, o que acontece se você tentar executar esta query diretamente no QueryAnalizer (ou similares), já que você está usando banco MSSQL? Qual a estrutura desta tabela "pessoa"? Compartilhar este post Link para o post Compartilhar em outros sites
Difurlan 0 Denunciar post Postado Novembro 7, 2007 o mssql ta habilitado no php.ini?sim, está habilitado.! Como disse, ele acessa o sql server, mas é a determinada tabela (que é importada do MSDE 2000) que ele não consegue visualizar. Compartilhar este post Link para o post Compartilhar em outros sites
Difurlan 0 Denunciar post Postado Novembro 7, 2007 Olá, o que acontece se você tentar executar esta query diretamente no QueryAnalizer (ou similares), já que você está usando banco MSSQL? Qual a estrutura desta tabela "pessoa"? Olá! Se eu executar no query analyzer (select * from pessoa) ele me retorna todos os valores. tudo certinho. Assim como se eu usar uma ASP... ou VB. Volta certinho. Observem os negritos. Obs também: Na tabela que funciona, não existe campo ntext. no PHP, volta isso aqui ó: Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. (severity 16) in C:\Inetpub\wwwroot\fin\controle_login.php on line 20 Warning: mssql_query() [function.mssql-query]: Query failed in C:\Inetpub\wwwroot\fin\controle_login.php on line 20 estrutura da TABELA PESSOA: idPessoa - numeric - 9 Nome - nvarchar - 255 - allow nulls TipoPessoa - tinyint - 1 sexo - nvarchar - 10 - allow nulls data nascimento - datetime - 8 - allow nulls EstadoCivil - nvarchar -15 - allow nulls CartIdentidade - nvarchar - 50 - allow nulls CPF - nvarchar - 30 - allow nulls idProfissao - numeric - 9 - allow nulls Nacionalidade - nvarchar - 100 - allow nulls tratamento - nvarchar - 15 - allow nulls CNPJ - nvarchar - 30 - allow nulls InscrEstadual - nvarchar - 50 - allow nulls OAB - nvarchar - 20 - allow nulls Escritorio - bit - 1 Login - nvarchar - 20 - allow nulls Senha - nvarchar - 50 - allow nulls Obs - ntext - 15 - allow nulls Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Novembro 7, 2007 No seu php.ini procure algo semelhante a isto: mssql.textsize Se estiver comentado (ponto e vírgula no início), descomente e altere o valor para -1 []'s ;) Compartilhar este post Link para o post Compartilhar em outros sites
Difurlan 0 Denunciar post Postado Novembro 7, 2007 No seu php.ini procure algo semelhante a isto: mssql.textsize Se estiver comentado (ponto e vírgula no início), descomente e altere o valor para -1 []'s ;) Amigo, eu já havia mudado este detalhe, pois vi em um outro post neste mesmo forum que poderia ser isso o meu problema. eis aí embaixo a parte que nos referimos.... ; Valid range 0 - 2147483647. Default = 4096. ;mssql.textlimit = 4096 ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- mssql.textlimit = -1 ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- ; Valid range 0 - 2147483647. Default = 4096. ;mssql.textsize = 4096 ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- mssql.textsize = -1 ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- ; Limits the number of records in each batch. 0 = all records in one batch. ;mssql.batchsize = 0 ; Specify how datetime and datetim4 columns are returned ; On => Returns data converted to SQL server settings ; Off => Returns values as YYYY-MM-DD hh:mm:ss ;mssql.datetimeconvert = On ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- mssql.datetimeconvert = Off ; ------->>>>>>>>>>>>> MUDEI AQUI <<<<<<<<<<<<<----------------------- ; Use NT authentication when connecting to the server mssql.secure_connection = Off Caso queiram dar uma olhada no php.ini por inteiro, eu posso postá-lo. Obrigado pela atenção novamente. Compartilhar este post Link para o post Compartilhar em outros sites
slipce 0 Denunciar post Postado Novembro 7, 2007 Pesquisei o erro e encontrei um post que o cara da algumas soluções, caso as configurações( que você fez no php.ini ) não surtam efeito você pode tentar uma das duas soluções que o cara forneceu: Solution for the following Error: Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. This is because you are using column types of like ntext instead of text. There are 2 solutions. 1. Change all ntext column types to text or 2. Your query must look like: SELECT CAST(field1 AS TEXT) AS field1 FROM table Compartilhar este post Link para o post Compartilhar em outros sites
Difurlan 0 Denunciar post Postado Novembro 7, 2007 Pesquisei o erro e encontrei um post que o cara da algumas soluções, caso as configurações( que você fez no php.ini ) não surtam efeito você pode tentar uma das duas soluções que o cara forneceu: Solution for the following Error: Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. This is because you are using column types of like ntext instead of text. There are 2 solutions. 1. Change all ntext column types to text or 2. Your query must look like: SELECT CAST(field1 AS TEXT) AS field1 FROM table Eita rapaz bom de php!!!! funfou legal! Optei pela segunda opção, ao invés de mudar a estrutura do banco. (já que na importação costumo fazer a importação integral, campos e dados). Também tentei criar uma tabela chamada Pessoa1 no mesmo banco, com os mesmo tipos da tbl Pessoa, pois pensei que poderia ser algo na importação dos dados do MSDE 2000. Resultado: Não funcionou. O Problema é o tal do ntext!!! Ahhh Php.... Abraços e Muito Obrigado pela gentileza dispensada galera!! Compartilhar este post Link para o post Compartilhar em outros sites