10
votes

Sélectionnez Requête sur une table avec un espace dans le nom à l'aide de SQSH

J'utilise sqsh (version 2.1) sur Ubuntu 10.04 pour vous connecter à une base de données MSSQL à l'aide d'une commande comme celle-ci:

SELECT column_name,data_type FROM information_schema.columns WHERE table_name = 'My Table'
go


4 commentaires

Vous utilisez Sybase et vous avez une table avec des espaces sur le nom?


Non, c'est une base de données MSSQL. Désolé, peut-être que les tags étaient trompeurs.


Pouvez-vous tester ce qui se passe si vous retirez l'espace du nom de la table?


Comme je l'ai mentionné à la fin de la question: il y a d'autres tables sans espaces dans leurs noms et que tout fonctionne correctement pour eux, c'est-à-dire que je peux utiliser le nom de sa possession, ou d'envelopper les crochets, ou d'assigner à une variable et Utilisez cela, et cela fonctionne bien.


4 Réponses :


0
votes

Essayez de paramétrer cité_dentifiant sur ON lorsque vous utilisez SQL Server. Pour plus d'informations sur cité_Identifier Voir: http://msdn.microsoft.com/fr- US / Bibliothèque / MS174393.aspx


1 commentaires

Merci pour l'idée, malheureusement, cela n'a pas aidé.



2
votes

enfin trouvé La solution . Je devais ajouter les 2 lignes suivantes à /etc/freetds/freetds.conf

tds version = 8.0
client charset = UTF-8

p>


0 commentaires

15
votes

Mettre le nom de la table dans des guillemets ne fonctionne pas dans MS SQL Server.
La bonne voie utilise [] : xxx


1 commentaires

Merci, comme je l'ai dit dans la question, cela ne fonctionnait pas pour moi. Il me manquait certains paramètres de configuration (voir ma réponse) et une fois que j'avais celles-ci, la requête SELECT a travaillé avec des citations ou des crochets.



4
votes

IM à l'aide de SQL 2008R2, et les travaux suivants pour moi xxx


0 commentaires