Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Добрый день!

Такой запрос работает
_____________________________
BULK INSERT Student
FROM 'c:\11.csv'
WITH
(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
CODEPAGE='ACP'
)

____________________________

Такой запрос csv файл вставляет одним столбцом
SELECT *

FROM OPENROWSET('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};;FIELDTERMINATOR=;;DefaultDir=c:\',
'select * from 11.csv')
______________
Региональные настройки проверил стоит ';'
10 фев 12, 15:21    [12070052]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
кириллk, день добрый
10 фев 12, 15:27    [12070113]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
FROM OPENROWSET('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};;FIELDTERMINATOR=;;DefaultDir=c:\',
'select * from 11.csv')

А вы строку соединения такую сами придумали или взяли откуда то ?
13 фев 12, 12:00    [12080510]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Нашел в какой-то теме на форуме sql.ru
13 фев 12, 12:24    [12080704]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
Нашел в какой-то теме на форуме sql.ru

Да ладно. Прямо вот в таком виде и нашли ?
В строке соединения, где точка с запятой является разделителем параметров, вдруг она же становится самим параметром ?
13 фев 12, 12:26    [12080719]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

раз
https://www.sql.ru/forum/actualthread.aspx?tid=788362&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator
два
https://www.sql.ru/forum/actualthread.aspx?tid=491615&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator
три
https://www.sql.ru/forum/actualthread.aspx?tid=386438&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator

итд :(
13 фев 12, 12:29    [12080733]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
раз
https://www.sql.ru/forum/actualthread.aspx?tid=788362&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator

Ничего, что там ошибка Недопустимый атрибут строки подключения FIELDTERMINATOR ?
Автор той строки тоже наверное любит придумывать свои параметры строк соединения

кириллk
два
https://www.sql.ru/forum/actualthread.aspx?tid=491615&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator

Ничего что там разделитель запятая, а не точка с запятой ?

кириллk
три
https://www.sql.ru/forum/actualthread.aspx?tid=386438&hl=driver%20microsoft%20text%20driver%20txt%20csv%20fieldterminator

А вы эти темы дальше первого сообщения читаете ?
13 фев 12, 12:35    [12080776]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Я все перепробовал, если Вы знаете в чем проблема, пожалуйста скажите!
13 фев 12, 12:38    [12080800]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
Я все перепробовал, если Вы знаете в чем проблема, пожалуйста скажите!

Проблема в том, что вы придумываете параметры строки соединения самостоятельно.
13 фев 12, 12:41    [12080821]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

А как надо?

Если Вам не трудно, можете привести пример?
13 фев 12, 12:45    [12080846]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://www.connectionstrings.com/textfile
13 фев 12, 12:48    [12080878]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

я это видел, вот подходящий

Microsoft Text ODBC Driver
TYPE ODBC Driver
USAGE Driver={Microsoft Text Driver (*.txt; *.csv)}
MANUFACTURER Microsoft
Set example values »

More about this driver »
Standard
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\txtFilesFolder\;Extensions=asc,csv,tab,txt;

но sql пишет
Msg 102, Level 15, State 1, Line 2
Неправильный синтаксис около "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\1.csv\;Extensions=asc,csv,tab,txt;

Я глупый :)
13 фев 12, 12:53    [12080908]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
кириллk,

SELECT * FROM OPENROWSET('MSDASQL',
'Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\;Extensions=asc,csv,tab,txt;',
'select * from 1.csv')


Все равно одним столбцом
13 фев 12, 12:59    [12080937]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://www.connectionstrings.com/Providers/microsoft-text-odbc-driver
13 фев 12, 13:06    [12080980]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Я прям чувствую что я рядом :)

Я пытался настроить схема ini но не смог его найти :(

Поиск по файлам его не нашел
13 фев 12, 13:08    [12080992]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
Я пытался настроить схема ini но не смог его найти :(

Найти где ? Вы думаете, что есть один универсальный schema.ini на весь сервер ?
Этот файл создается руками в той директории, откуда вы собираетесь читать ваши файлы
13 фев 12, 13:10    [12081008]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
кириллk,

http://support.microsoft.com/kb/149090/

Пытался сделать как тут :)
13 фев 12, 13:11    [12081010]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
кириллk,

Загнулся тут

Создайте модуль и введите следующую строку в Раздел описаний, если он еще не существует:
Option Explicit
13 фев 12, 13:12    [12081021]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
Загнулся тут

Создайте модуль и введите следующую строку в Раздел описаний, если он еще не существует:
Option Explicit

Вы что собрались писать программный код на VisualBasic ?

"This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual. "
13 фев 12, 13:17    [12081067]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Так. т.е мне надо создать 3 текстовых файла

[customers.txt]

Внури написать:

Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI

[orders.txt]

Внури написать:

Format=Delimited(;)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI

[invoices.txt]

Внури написать:

Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI

и вставить их на диск С ?
13 фев 12, 13:19    [12081096]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
Так. т.е мне надо создать 3 текстовых файла

Мда. Это содержимое файла schema.ini
Которое описывает форматы 3х файлов

Как так можно читать мануалы ?
http://msdn.microsoft.com/en-us/library/ms709353.aspx
13 фев 12, 13:24    [12081147]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Я создал файл Schema.ini

Положил его на диск С

В нем написал


Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI


Все равно не работет. Извините если я Вас отвелкаю, но не могли ли бы Вы написать более подробно, я прост они разу не сталкивался с этим
13 фев 12, 13:31    [12081198]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
В нем написал


Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI


Все равно не работет.

И где же название файла, к котору относится это описание формата ?
13 фев 12, 13:34    [12081225]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
кириллk
Member

Откуда:
Сообщений: 1062
Glory,

Glory,

Теперь на диске С у меня :
3 файла

[customers.txt]
[orders.txt]
[invoices.txt]

И файл Schema.ini

[customers.txt]
Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI

[orders.txt]
Format=Delimited(;)
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI

[invoices.txt]
Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI

И по прежнему не работает? я опять что то не так делаю?
13 фев 12, 13:38    [12081246]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET один столбец  [new]
Glory
Member

Откуда:
Сообщений: 104751
кириллk
И по прежнему не работает? я опять что то не так делаю?

А обращаюсь я к файлу 1.csv, да ?
13 фев 12, 13:41    [12081266]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить