Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

MS SQL Server Unicode

14.07.06 13:12
Re: MS SQL Server Unicode
 
  digital_pilot авиатор х#ев
в ответ Simple 14.07.06 12:11


Ыксперимента ради сделал счас тест 2-мя способами: через провайдера SQLOLEDB и через ODBC-драйвер для SQL Server'а.
тестовый скрипт:
В ответ на:
IF OBJECT_ID('pelod') IS NOT NULL DROP TABLE [pelod]
CREATE TABLE [pelod] (
[source] NVARCHAR (100) NOT NULL UNIQUE,
[target] NVARCHAR (100) NOT NULL DEFAULT ''
)
GRANT ALL ON [pelod] TO public
INSERT [pelod] ([source]) VALUES(N'Mittelmäßiger Übersetzer = Посредственный переводчег.')
INSERT [pelod] ([source]) VALUES(N'Blöde Ärsche - Убейте себя апстенку, ослы!')
GO

тестовый VB-скрипт (читает строчки на клиента и потом обратно пишет их в таблицу. Ну, на практике - глупость, это исключительно чтоб строчки туда-сюда погонять через провайдера). В скрипте 2 коннекшн-стринга для опытов.
В ответ на:

g_Provider = "SQLOLEDB"
g_Server = "."
g_DB = "pelod_db"
g_Login = "sa"
g_Password = "****"
g_DSN = "pelod_dsn"
Set conn = CreateObject("ADODB.Connection")
ConnStr = "Provider=" & g_Provider & ";Data Source=" & g_Server & ";database=" & g_DB & ";User ID=" & g_Login & ";password=" & g_Password & ";"
'ConnStr = "DSN=" & g_DSN & ";Database=" & g_DB & ";UID=" & g_Login & ";password=" & g_Password & ";"
conn.Open ConnStr
Set rs = conn.Execute("SELECT [source] FROM [pelod]")
Do Until rs.EOF
conn.Execute "UPDATE [pelod] SET [target] = N'copy: " & cstr(rs("source")) & "' WHERE [source] = N'" & cstr(rs("source")) & "'"
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
Conn.Close
Set conn = Nothing
MsgBox "Done."

ну и под конец делаем SELECT * FROM [pelod] и получаем в обоих случаях
source target
---------- ----------
Mittelmäßiger Übersetzer = Посредственный переводчег. copy: Mittelmäßiger Übersetzer = Посредственный переводчег.
Blöde Ärsche - Убейте себя апстенку, ослы! copy: Blöde Ärsche - Убейте себя апстенку, ослы!

 

Перейти на