Announcement

Collapse
No announcement yet.

Brauche Hilfe bei Datenbankübergreifende Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Brauche Hilfe bei Datenbankübergreifende Abfrage

    Hallo,

    ich habe ein kleines Problem .

    Wir haben auf unserem SQL Server mehrere DB's laufen. Jetzt muss ich sagen wir mal von DB1 auf DB2 eine Abfrage machen.

    Meine Idee war

    Ich bin auf DB1
    select *

    from db2


    Mein Problem ist jetzt, das irgendein Schlaubi bei der Namensgebung der DB2 ein "-" Minus verwendet hat und das Managment Studio sagt mir jedesmal wenn ich die Abfrage ausführen will "Falsche Syntax in der nähe von '-'"

    Datenbankname = 'STS_app-hal_1'

    Wie kann ich das umgehen??

    Vielen Dank für die Hilfe

    MfG

  • #2
    einfach um die bezeichnung eckige klammern drum machen: [STS_app-hal_1]

    Comment


    • #3
      Super vielen Dank das ist die Lösung.

      Da ich die Abfrage aber leider in einem Reporting Services machen muss sagt der mir jetzt:

      Der Serverprinzipal "Prod" kann unter dem aktuellen Sicherheitskontext nicht auf die "STS_app-hal_1"-Datenbank zugreifen. (Microsoft SQL Server, Fehler: 916)

      Hat jemand ne Idee wie ich das lösen kann?

      Comment


      • #4
        Der Fehler deutet auf ein Berechtigungsproblem hin. Wie sind denn da die Einstellungen für die Datenquelle? Ist das schon ein fertiger Bericht auf dem Server oder befindet Du Dich noch in der Entwicklung im Visual Studio?
        Vieleicht hilft das weiter

        Comment


        • #5
          Hatte mir schon gedacht das das ein rechte Problem ist. Da diese DB hier normal gar nicht verwendet wird. Der Bericht ist momentan noch im Enticklungsstatium im Visual Studio.

          Aber wo finde ich den "Berichts-Manager"

          Danke für die Anwort

          Comment


          • #6
            So das Berechtigungsproblem hab ich jetzt im Griff. Aber wie sollte es anders sein jetzt kommt der nächste Fehler:

            Ein Sortierungskonflikt zwischen "Latin1_General_CI_AS" und "Latin1_General_CI_AS_KS_WS" im equal to-Vorgang kann nicht aufgelöst werden. (Microsoft SQL Server, Fehler: 468).

            Hier meine Abfrage im Report:
            Bild_vorhanden=(select tt1.leafname from [STS_app-hal_1].dbo.docs tt1 where tt1.leafname = (RTRIM( t3.ADRESSE) + '-' + replace(t1.ARTIKEL, SPACE(1), '_') + '.jpg'))

            Wobei t1 und t3 Tabellen zur DB1 gehören und tt1 zu DB2.

            Comment


            • #7
              Das ist ja ein witziger Fehler: Es gibt anscheinend Sortierungseinstellungen, die nach Dienstkonto und Benutzer verschieden sein können.
              Kann es sein, dass auf deinen beiden Servern unterschiedliche Sortierungseinstellungen benutzt werden?
              Was es nicht alles gibt...

              Comment


              • #8
                Das ist genau der Fall. Die eine DB (Die DB vom ERP-System) auf die die Reports Standardmäßig zugreift hat die Sortierung "Latin1_General_CI_AS" und die DB vom Sharepoint hat die Sortierung "Latin1_General_CI_AS_KS_WS".

                Kann man diesen Fehler irgendwie umgehen?

                Und was würde passieren wenn man die Sortierung von der Sharepoint DB ändern würde?

                Comment


                • #9
                  Die Sortierungseinstellung (Collation) ist zwar nicht gerade Benutzerabhängig und man kann zwar je DB eine Defaultwert definieren, aber es wird eigentlich je Feld festgelegt.

                  Um nun zwischen verschiedenen Collations vergleichen zu können, muss Du es casten (genau wie bei unterschiedlichen Datentypen) indem Du die gewünschte COLLATE angibst.
                  Z.B.:
                  [highlight=SQL]where tt1.leafname COLLATE Latin1_General_CI_AS [/highlight]
                  Olaf Helper

                  <Blog> <Xing>
                  * cogito ergo sum * errare humanum est * quote erat demonstrandum *
                  Wenn ich denke, ist das ein Fehler und das beweise ich täglich

                  Comment


                  • #10
                    SAUBER!

                    Jetzt funktioniert es, super, vielen vielen Dank an euch!!!

                    Gruß Whistler

                    Comment

                    Working...
                    X