Toon posts:

[SQL 7] Case sensitivity

Pagina: 1
Acties:
  • 180 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
... heb een site-je verhuisd van een testserver naar een 'live' machine.
Krijg nu plotseling gezeik over fouten in tabelnamen.

bv.
{Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name
'ExpensetypeID'.
/new.asp, line 125}

Waarschijnlijk zit het hem in Upper- vs. Lowercase. (De tabel heet inderdaad ExpenseTypeID i.p.v. ExpensetypeID).

Een of andere vogel heeft op de bewuste server in SQL7 ergens aan weten te zetten dat die tabelnamen case-sensitive zijn.
Hoe sloop ik dat eruit, iemand suggesties ?
:'(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Tabelnamen, zijn niet case-sensitive, voor zover ik weet...

Alhoewel, SQL7 met zijn export optie het wel es voor elkaar heeft gekregen, om een tabel in Oracle case-sensitive te krijgen!
Wat je misschien het makkelijkst kan doen, is de tabel renamen?
Van "ExpensetypeID" naar ExpensetypeID

Verwijderd

Topicstarter
Tabellen renamen is niet echt een optie,
op dit moment werken een X aantal pagina's niet en een Y aantal wel. Als ik de tabelnamen ga aanpassen maak ik waarschijnlijk meer stuk dan me lief is >:)

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 20-01 20:10

soepkip

Kratjes kunnen nu ook voorin

[tip]
kijk eens in je enterprise manager bij Tools en dan bij SQL Server Configuration Properties
[/tip]

Beste film ooit


Verwijderd

Topicstarter
:'( In Enterprise manager kan ik weinig vinden wat op case zou slaan...

Verwijderd

Voer eerst es een

SET QUOTED_IDENTIFIER OFF

op je db connectie uit voor je je query er door huppelt? *D

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 10:59

Crazy D

I think we should take a look.

Kwee nie hoe het bij SQL7 zat, maar bij 8 (SQL 2000 dus) kon ik tijdens de installatie opgeven of tabel- en veldnamen case sensitive moesten zijn. Had ik dus de 1e keer aangezet, en toen kreeg ik ook een hoop problemen... veld niet gevonden en zo, SQL opnieuw geinstalleerd, deze keer zonder case sensitive, en toen werkte alles weer perfect.

Exact expert nodig?


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op maandag 25 juni 2001 12:04 schreef ACM het volgende:
Alhoewel, SQL7 met zijn export optie het wel es voor elkaar heeft gekregen, om een tabel in Oracle case-sensitive te krijgen!
Oracle is gewoon case sensitive. Maar op een iets afwijkende manier: als je identifiers zonder double quotes eromheen gebruikt wordt ervan uitgegaan dat je uppercase bedoelt. Met quotes wordt de case gebruikt die jij geeft. En MSSQL heeft dus waarschijnlijk met quotes geexporteerd: CREATE TABLE "Tabel" ("Kolom1" INTEGER, "Kolom2" INTEGER) enz enz.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 25 juni 2001 12:36 schreef Onno het volgende:
Volgens mij, geldt dat ook voor MSsql zelf?

  • Onno
  • Registratie: Juni 1999
  • Niet online
Ik weet niet hoe de default settings zijn, maar dat is iig wel mogelijk ja. (althans, in Sybase... met MSSQL heb ik nooit gewerkt. maar dat zal wel 't zelfde werken)

Verwijderd

Topicstarter
F#%@^ M$

Het al dan niet Case-Sensitive zijn wordt geregeld door een 'collation'-setting die je alleen tijdens installatie kan zetten of tijdens een rebuild van de MasterDB !

Tnx anyway :'(

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 20-01 20:10

soepkip

Kratjes kunnen nu ook voorin

zoiets kun je altijd command-line veranderen,
mm laatst nog eens bij een sybase moetten doen

Beste film ooit


Verwijderd

Topicstarter
:Soepkip

Tell me more !

Enig idee hoe ik dit command-line kan doen ?
Registry ?

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 20-01 20:10

soepkip

Kratjes kunnen nu ook voorin

ik zoek het ff voor je op :)

Beste film ooit


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Op maandag 25 juni 2001 13:28 schreef soepkip het volgende:
zoiets kun je altijd command-line veranderen,
mm laatst nog eens bij een sybase moetten doen
Ik geloof dat dat 1 van de weinige opties is die je achteraf niet kunt veranderen.

  • franklin
  • Registratie: Februari 2000
  • Laatst online: 10:20

franklin

denkt teveel...

offtopic:
heya mark! lang niet gezien danwel gesproken

Verwijderd

Topicstarter
[way offtopic]
King, pass me ff een e-mailadres -> mvolmer@hsomail.com >:)
[/way offtopic]

Verwijderd

Topicstarter
[on topic]
Wat een but-pakket is dit ook weer. Je kan wel veranderingen aanbrengen in de collate eigenschap maar dat kan dan alleen per afzonderlijke tabel en natuurlijk niet gewoon heel convenient voor de hele database in een keer.... :( :( :(

Uit MSDN( :'( ):
'You can also use the COLLATE clause on an ALTER DATABASE to change the default collation of the database:

ALTER DATABASE MyDatabase COLLATE French_CI_AS

Altering the default collation of a database does not change the collations of the columns in any existing user-defined tables. '



[/on topic]

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 20-01 20:10

soepkip

Kratjes kunnen nu ook voorin

ok, check eerst ff wat je code page van je server is door
sp_helpsort

je hoort dan te krijgen:

Unicode data sorting
----------------------
Locale ID = 1033

case insensitive, kana type insensitive, width insensitive


Sort Order Description
------------------------------------------------------------------------------------------------------------------------------------
Character Set = 1, iso_1
ISO 8859-1 (Latin-1) - Western European 8-bit character set.
Sort Order = 52, nocase_iso
Case-insensitive dictionary sort order for use with several We
stern-European languages including English, French, and German
. Uses the ISO 8859-1 character set.

Characters, in Order
------------------------------------------------------------------------------------------------------------------------------------
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | }
~   ¡ ¢ £ € ¥ Ŝ § š © ª « ¬ ­ ® ¯ ° ± ² ³ Ž µ ¶ · ž ¹ º » Œ œ Ÿ
¿ × ÷ 0 1 2 3 4 5 6 7 8 9 A=a À=à Á=á Â=â Ã=ã Ä=ä Å=å Æ=æ B=b C
=c Ç=ç D=d E=e È=è É=é Ê=ê Ë=ë F=f G=g H=h I=i Ì=ì Í=í Î=î Ï=ï J
=j K=k L=l M=m N=n Ñ=ñ O=o Ò=ò Ó=ó Ô=ô Õ=õ Ö=ö Ø=ø P=p Q=q R=r S
=s ß T=t U=u Ù=ù Ú=ú Û=û Ü=ü V=v W=w X=x Y=y Ý=ý ÿ Z=z Ð=ð Þ=þ

Beste film ooit


Verwijderd

Topicstarter
Op de testmachine is het 1033, op de andere bak (die die problemen geeft) zal het ongetwijfeld 1031 zijn...

Ik begrijp dat ik het met ALTER DATABASE de setting kan wijzigen, helaas werkt dit alleen voor alles wat ik daarna nieuw aanmaak, vervolgens zal ik met ALTER TABLE al m'n tabellen langsmoeten om het per bestaande tabel nog een keer te doen :r

  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 20-01 20:10

soepkip

Kratjes kunnen nu ook voorin

hier ben ik weer,
ok
typ dit in:
select name from master..syscharsets
en kijk eens wat je allemaal hebt :)

en speel s ff met welke je wilt hebben
( zie onder)
default sortorder id 0 255 52 52
Unicode locale id 0 2147483647 1033 1033
Unicode comparison style

verander deze door b.v. te typen:
EXEC sp_configure 'default sortorder id',1

en klaar ben je :)
( p.s. mischien is het erna wel ff beter om de database services te stoppen en weer te starten)

Beste film ooit


Verwijderd

Topicstarter
Klinkt F@#&! interessant maar ik snap hem niet helemaal master..syscharsets geeft inderdaad een leuke lijst terug op de testmachine maar eeuh die dingen die jij opnoemd kan ik echt niet vinden... ;(

Tell me more....
Pagina: 1